Computer based browsing computer program product, system and method

ABSTRACT

A computer based browsing computer program product, system and method arranges a set of information hosted on a computer into a book or a set of books, where each book includes a subset of the set of information, labels each book with a respective portion of the subset of the set of information, and selects a book from the set of books. Selecting the book from the set of books includes steps of displaying the respective portions of the books as a book document image that includes pages which correspond to the respective portions of the books, generating a command for moving through the pages, displaying an animated image of the pages of the book document being at least one of flipped, scrolled, slid and flashed images, and selecting the book when a selected one of the pages containing a selection portion of the book is earlier displayed.

CROSS REFERENCE TO RELATED APPLICATIONS

This application contains subject matter related to application Ser No.08/703,407 filed on Aug. 26, 1996 (now U.S. Pat. No. 6,064,384, issuedon Jun. 1, 1999), and application Ser. No. 08/703,404 filed on Aug. 26,1996 (now U.S. Pat. No. 6,340,980, issued on May 16, 2000), both ofwhich are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a computer based browsing computerprogram product, system and method for browsing through documents storedin a computer. Specifically, the present invention facilitates thebrowsing of a document stored in a computer in such a way that it allowsa rapid and holistic view of what contents are present and theorganization of the material in the document, as well as rapid access tothe items in the document involved. The document-browsing system in thepresent invention is also generalized to provide a novel human-computerinterface, not just for browsing documents but also for interacting withand operating a computer to achieve the various functionalities normallycarried out on the computer.

2. Description of the Related Art

Currently, the method for viewing documents stored in a computer isthrough a computer monitor screen. For documents that are longer/largerthan can be contained within one screen, a way is provided to scroll thedocument up and down or to jump to a particular point in the document(through the use of, for example, a “mouse” coupled with scroll bars atthe edges of the document displayed on the screen or through the use ofhypertext links).

However, most people do not find this a particularly convenient way toview a document, as compared with a book. That this is true is evidencedin the fact that despite the trend of increased computer usage, there isnot only no corresponding reduction in paper use, but an increase inpaper quantity is required to print what is conveniently stored in acomputer that can be seemingly easily and flexibly manipulated forviewing. Sometimes the printed version of the information involved isnecessary, like in the case of printing a picture on a sheet of paper tobe pasted on some surface (e.g., a wall), or in the case of theconvenience of having a relatively light, hardy paperback book forreading in almost any possible situation and location. Reading textualmaterial on the computer screen for a prolonged period of time alsoleads to visual fatigue. But there are times when a reader does not needto read for a prolonged period of time and is quite happy to sit at adesk in front of a desktop computer or handle a notebook computer awayfrom the desk, and yet the reader would still prefer a printed versionof the document in a hand-held format. This is especially true in thecase of looking through manuals, including software manuals, tounderstand how to operate a device or software application. The irony isthat computer software packages (included in computer readable media,such as optical disks, magnetic disks, semiconductor memory, etc.)usually come with thick and heavy manuals containing information whichcan easily be stored on a light-weight CD-ROM, and even if the manualsare sometimes dispensed in the form of a CD-ROM, more often than notpeople would print them out into a hard-copy format in order tofacilitate reading.

What is involved when one interacts with the printed material in a bookis a subtle and complicated process. To start with, material in a bookis presented in a sequential order, with a continuity of material frompage to page, and there is also a hierarchical structure in the materialpresented (as the material is organized into chapters, sections,subsections, etc.) because ideas in the material are related to eachother in some kind of conceptual hierarchy. The human perceptual systeminputs data in a sequential manner, and after a book is read from thebeginning to the end in a sequential fashion, the brain then recreatesthe conceptual hierarchy after viewing the material involved. However,very often one does not read a book (or input the material involved)from the beginning to the end because (a) one wants to have an overviewof the material present; (b) one is searching for something of interestto him/her; or (c) one is interested in reading only portions of thebook (in the case of, say, reading the manual to understand how tooperate something). In these cases, one browses through the subject bookto find the material of unique interest to that reader.

Two basic things are achieved in the browsing process. First, thebrowser has a glimpse of what are the contents of the book document.Second, the browser has an idea of approximately where the items ofinterest are so that the browser can (a) return to look for them laterwhen needed, and (b) have an understanding of the relationships betweenthe material currently being viewed and other material (i.e., anunderstanding of the hierarchical structure involved). When browsing abook document, many finger-operations are required of the browser inorder to flip through the pages and, together with the inherentsequential order imposed by the pages, very quickly allow the browser tohave an understanding of the nature, location and organization of thematerial involved.

In the process of browsing through a book, one can perform the followingoperations:

-   -   (a) flip through the pages at varying speeds depending on the        level of detail at which one wishes to view the material in the        book;    -   (b) jump to the approximate location of the item of interest;    -   (c) change the direction of flipping (forward or backward) very        rapidly because        -   (i) one would like to compare and contrast material on            different pages,        -   (ii) after jumping to an approximate location of some items            of interest one would like to find their exact locations, or        -   (iii) one is unsure of where the item of interest is and is            in the process of searching for it; and    -   (d) mark the locations of some pages of interest that one may        want to later return.

All these operations are performed very rapidly with the fingersinteracting with the flipping pages and with minimal unnecessarymovements of the fingers and hands. Interestingly, a book/magazine withsoft and flexible pages is harder to handle because more finger and handmovements are needed to browse through it, while books with stiff pagescan be browsed with almost no movement of the hand.

In currently available methods of browsing through documents stored in acomputer, e.g., the use of a mouse combined with scroll bars and buttonson the computer screen, more movements of the hands are necessary toeffect the various operations described above. Also, fine control of thehand or fingers (depending on whether the mouse uses hand movement tomove the cursor on the screen or finger movement like in the case of atrack ball) is necessary to position the cursor on the screen at therequired places. The process is both lengthy and clumsy. The lengthinessof the process taxes the human short term memory's ability to rememberitems encountered in the recent past for the purpose of establishing therelationships between items and the clumsiness of the process createsdistraction and interferes with the short term memory process, a wellknown effect in perceptual psychology. These destroy the ability of thereader to form an idea of the contents and structure—i.e., a holisticview—of the document involved.

Because material in a book is organized into pages, it allows the readerto quantify approximately the amount of coverage given to eachtopic—e.g., three-quarters of a page, three-and-a-half pages, etc. Inaddition, page-oriented organization together with the fact that thepages are joined together in a sequential order with a continuity ofmaterial from page to page enhance the ability of the reader to betterremember the location of various portions of the material involved(e.g., roughly how many pages from the pages currently in view). Also,unlike the process of scrolling through a document on a screen like whatis normally done in a word-processor, wherein the contents become a blurand reading is impossible, when one moves through the material in a bookthrough flipping, one is still able to read at least the approximatecontents, if not the details. This, together with the page-orientedorganization that enhances the user's impression of the location ofmaterial viewed, allow the user to form an impression of theorganization of the material in the document.

Another method used for presenting information on the computer screen isflashing one page of information after another. This method eliminatesthe problem of blurred images but it also eliminates the continuitybetween different portions of the document. In turn, the lack ofcontinuity eliminates the reader's ability to form impressions of theapproximate absolute locations of these portions of the materialinvolved and hence the impressions of the relationships between theseportions of the material. As recognized by the present inventor, onlythe flipping method normally present in a book (e.g., a hardcover book)is able to provide both continuity and readable pages in view. It is dueto these features that a person browsing through a book can acquire agood understanding of its contents, the location of specific items andorganization of the material, and hence a holistic view of the bookinvolved.

As recognized by the present inventor, it is because of the reasons setforth above that people still prefer to read a book in their handsrather than a document image displayed on a computer screen usingcurrently available methods.

U.S. Pat. No. 5,467,102 (Kuno et al.) discloses a device for documentviewing that consists of two display screens. One of the purposes ofusing two display screens is to allow the user to display two differentpages from the document so that they can be read side-by-side (e.g., adiagram and its textual explanation). Another purpose is to allow alarge picture to be displayed simultaneously on both pages. The Kuno etal. device allows users to change the speed of movement through thedocument through a pressure sensor—the more pressure applied, the fasterthe pages in the document are moved through. The Kuno et al. device alsoallows the document to be viewed in the forward or backward direction bypressing on a forward sensor area or a reverse sensor area respectively.One can also select a page to jump to by pressing on an icon displayedon the screen. However the Kuno et al. device still does not provide thesame convenience as browsing through a book, primarily because whenswitching between the operations for different controls—the speed ofmovement through the document, the change of direction of viewing, andthe jumping to different parts of the document—there are a lot more handand finger movements than is the case in manipulating a physical book.Moreover, the Kuno et al. device is a specialized, relatively costlydevice with sensors and hardware built onto two display screens, whereasthe present inventor recognizes that a lower cost and more practicaldevice would be one that adds modularly to the existing computer system.

Currently, there are also computer mice that can eliminate theabove-mentioned problem of positioning cursor on the computer screenwith a conventional mouse (i.e., fine control of the hand or fingers isneeded). These mice allow the user to specify “hot locations” on thescreen on which the cursor “homes onto” with less fine control thanconventional mice. Furthermore, a subset of these mice can generate“vertical only” or “horizontal only” movement of the cursor so that thescrolling process requires less fine control of the muscle than isrequired with a conventional mouse. These mice eliminate some, but notall, of the problems associated with the conventional methods ofcomputer input as far as computer-based document browsing is concerned.

In U.S. Pat. No. 5,417,575 (1995) McTaggart discloses an electronic bookthat comprises laminated sheets bound together in the form of a book. Oneach of these sheets, printed material is arranged on the top layer andbelow that layer is an electronic backdrop containing thinlight-emitting diodes (LED's) and pressure sensitive switches affixedonto a backing sheet. The LED's generate visual signals that can be seenthrough the top layer for the purpose of highlighting parts of theprinted material. The pressure switches, positioned under certain itemsin the printed material, are for the purpose of sensing the user'sselection of those items. A speaker is also provided on the book togenerate audio signals for explaining the text or giving the user audiofeedback. Contact or photo-sensitive switches are also embedded in thepages to allow the electronic circuits to know which pages are currentlybeing viewed, so that the appropriate audio and visual signals can begenerated. Even though this apparatus is in a form that allows a personto handle it like handling a typical book, with visual and audioenhancements of the printed material as well as facilities that acceptthe user's feedback, it is basically a hard-wired device that is notreprogrammable and different hardware has to be configured for bookswith different contents. No provision is available for downloadingdocument files from a computer for display on the electronic book nor isthe electronic book able to display any arbitrary document file. Thisdevice is hence not suitable for browsing through documents stored in acomputer.

Therefore, the present inventor has identified there exists a need for alow-cost, modular device that can be connected to existing computersystems and that, through the computer executing a set of operationsstored on a computer-readable medium, can effect rapidly the necessarybrowsing operations and together with a preferred mode of moving througha document—e.g., the flipping mode—that permits easy, effectivecomputer-based document browsing that approaches that of browsingthrough a book. A feature of such a system is that it would exhibitfunctional attributes like those of a paper-book (i.e., a physical booksuch as a paper-back book).

The method of browsing a physical book can also benefit another aspectof human-computer interaction. In 1997, the most popular type ofhuman-computer interface—the WINDOWS interface (e.g., MICROSOFTCorporation's WINDOWS 95® or APPLE Computer's MAC operating system, OS)—also suffers from many of the problems associated with readingdocuments on a computer. Basically, there are two situations when“windows” are created on the computer screen. The first is when the userneeds to look into the contents of “directories” containing either otherdirectories or computer programs and data files. In this situation, whatare displayed in a window when it is opened are the contents of adirectory. This way, a user can navigate among the directories organizedin a tree structure and resident on the computer hard-disks to locateprograms (often called “applications”) and data. The other is when auser activates a program, and the program either generates some outputto be displayed on the computer screen or is waiting to accept some userinput (usually either a command to the program or data to be fed intothe program). In the WINDOWS interface, these output and input arepresented and accepted through a “window”, referred to as the workingwindow of a program.

In the case of the use of multiple windows to display the contents ofdirectories in the process of searching for a certain item (either adirectory, a program or a data file), if one knows exactly under whichdirectory an item of interest is placed, the tree-oriented structurepresent in this kind of system can greatly facilitate the search for theitem. However, if one does not know where the item is placed, one wouldneed to carry out a large number of operations opening/entering andclosing/exiting directories, often across and up and down many levels ofthe directory structure, and this is carried out with a large number of,and often tiring, operations involving clicking and dragging the mouse(or other pointing device).

The situation is compounded by the fact that often the contents of adirectory cannot fit entirely within a window. When that happens, amouse-cum-scroll-bar method, much like that used for browsing throughdocuments on a computer, is available for use to reveal the hidden partsof the directory involved. The situation is similar to viewing documentson computers, where the process of entering, exiting and scrolling upand down directory windows to search for items of interest demands alarge number of finger and hand operations and movement. Also, theflashing in and out of view of these directory windows results in adiscrete, non-continuous, and random sequence of images. This results ina poor idea of items' location in the entire directory structure as wellas the inability to form a holistic view of the entire collection ofprogram and data files resident on the computer's hard-disk.

In the case of computer programs using multiple windows to interact witha user, because each opened window tends to occlude other windowsalready present, it is often the case that in the process ofaccomplishing a certain task (e.g., creating a multimedia document), alarge and often confusing sequence of windows has to be opened, closedor moved aside, each window representing an activation of a program toaccomplish some subtasks (e.g., extracting some text from a text file,extracting a sub-part of an image from an image file, carrying out someprocessing on the images thus obtained, “pasting” all these itemstogether in yet another program, etc.) Again a large number of fingerand hand operations and movement is required to carry out theseoperations through the use of a mouse. Furthermore, because the variouswindows thus opened in this process do not have any fixed locations, andtheir relative locations keep changing, an excessive amount of mouseoperations is often needed just to locate these opened windows or putthem away for later use.

The WINDOWS interface derives from the desktop metaphor, in which thecomputer screen is likened to the desktop, and the windows are thusanalogous to items that one normally handles on a desktop. While thedesktop interface is a large improvement over the previous kind ofcommand line interface (e.g., MICROSOFT's DOS®), primarily because ofits user-friendly graphical interface and menu driven input, it suffersfrom the same problem of the desktop: when the items to be handled aremany, the desktop tends to become very messy, and one often has to keeppushing aside many items to look for other items.

As a practical matter, when a large number of sheets of papers arehandled by a person, either to collect information on various things orto scribble down ideas, one often joins (perhaps by a staple or binderclip) these sheets of paper into a temporary “book”, or one uses a scrapbook with blank pages on which the user may scribble-down ideas.However, the working items, once bound together, are not necessarilyrelated to one another, and thus, are different than a paper book inwhich the various portions of material are often related to one another.This organization of these sheets of paper allows one to obtain theusual advantages associated with a book, namely, the items of interestacquire absolute locations, and together with the finger/hand operationsone can normally apply to a book to search for information, the items ofinterest can easily be located. Because the pages thus organized in abook can be quickly and easily located and viewed, the effect istantamount to having multiple pages in view almost simultaneously, andhence it will alleviate the problems associated with the occlusion ofpages by other pages or windows by other windows.

Thus, the present inventor has identified that there is a need for ahigher level of organization built onto the currently available WINDOWSinterface—a “Books” interface—that can be used in conjunction with theabove-mentioned low-cost, modular device that can alleviate many of theproblems associated with the WINDOWS interface in order to facilitatehuman-computer interaction.

SUMMARY OF THE INVENTION

In view of the aforementioned short-comings of presently availableschemes for browsing through documents stored in a computer, oneobjective of the present invention is to overcome these short-comings ofconventional systems, computer-readable media, and methods.

Another object is to provide a browsing device that exploits the use offinger operations normally involved in browsing through a book, namely,the change of speed of movement through the document involved, thechange of direction of movement through the document, the jumping toother portions of the document and the bookmarking of pages (e.g., whena page is bookmarked, it can be returned/jumped to later very quickly byusing the controls operated by the fingers).

Another object of the invention is that the positioning, arrangement,and operability of the controls for the above-mentioned operationsperformed by the fingers are such that they allow almost no movement ofthe hand and minimal movements of the fingers, thus maximizing the easeof browsing through the stored document by capitalizing on the dexterityof the human fingers to operate these controls.

A further object of the invention is to provide a low cost, modularbrowsing device that can be easily attached to existing computer systemsmuch like how a mouse attaches to a computer system.

Still a further objective is to provide a reconfigurable construct forthe browsing device so that it can be (a) configured into a hand-heldcontroller; (b) attached to the sides of existing computer screens; (c)configured to cooperate with a mouse so that there is no need to movethe user's hand(s) when switching between browser-related operations andmouse-related operations; and (d) configured to cooperate with agyro-mouse so that the entire assembly can be used in the absence of atable top, where the particular construct is selected by the userdepending on the user's preference.

Another object of the invention is to provide a computer-readable mediumthat holds software that when executed by a computer displays, on thecomputer screen, the document to be browsed by way of browsing commandsgenerated by the user actuating the browsing device. The display is inthe form of a book format image that shows the thicknesses of materialin the document before and after the currently viewed material, showingof the bookmarks, and showing, on the thicknesses, of the location ofthe pages that would be jumped to at any given time if jumping were tobe effected.

Another object of the invention is to provide a system, computer-basedprocess, and method that permit different organizations of material inthe document and corresponding display formats, including: (a) organizedinto pages that can be flipped through page by page from right to leftor vice versa, much like what happens when one flips through a book; (b)organized into pages that can be flipped through page by page frombottom to top or vice versa, much like what happens when one flipsthrough a notepad; (c) organized into pages that can be slid throughpage by page from right to left or vice versa, much like what happenswhen one views a microfilm; (d) organized into pages that can be flashedone after another; and (e) organized into pages that can be scrolledthrough, with no distinct page boundaries, much like what is normallydone in a computer implemented word-processor application stored on acomputer-readable medium. The first three methods when used togetherwith the aforementioned browsing device result in a browsing processthat most resembles that of browsing through a book, a notepad, or amicro-film. The last two methods do not precisely emulate thebook-browsing process but can still benefit from the rapidity of fingercontrol effected on the browsing device.

Another object of the invention is to provide a computer based mechanismthat implements simultaneous multiple indexing in conjunction with theinventive browsing system. When a keyword of interest is encounteredduring the reading of the document, the user selects the keyword using acursor on the screen in conjunction with a pointing device such as amouse, like what is normally done in current computer systems, or usinghis/her finger in conjunction with a touch or pressure sensing screen,or other methods. In response, the pages on which explanations or otherissues related to this keyword reside are bookmarked by the inventivesystem, after which the user can quickly flip to one of these pagesusing the mechanisms provided in the browsing system.

Another object of the invention is to use the above-described browsingfacility in conjunction with other software, storable on computerreadable media, that is configured to reorganize the material in thedocument involved to facilitate browsing/viewing—for example, thepositioning of material for comparison side by side on the pagescurrently being viewed.

Another object of the invention is to use the above-mentioned browsingfacility in conjunction with software, storable on computer readablemedia, that can highlight selected portions of the material or annotateon the pages in the document involved to facilitatebrowsing/viewing/reading.

Yet another object of the invention is to provide the above-mentionedbrowsing facility to a computer configured to execute word processingsoftware so as to facilitate the entering, processing, andviewing/browsing of material in conjunction with the word processingsoftware.

Another object of the invention is to provide the above-mentionedbrowsing facility to any software, storable in a computer-readablemedium, in which information cannot be fitted within one computer screenfor viewing or manipulating.

Yet another object of the invention is to add a new metaphormechanism—the “library metaphor”—to the computer operating system'shuman interface in which information on the computer screen which istraditionally presented in the form of windows is now be presented inthe form of “books”.

These and other objects are achieved by providing a processor-basedbrowsing device, system, computer-readable media, and method forbrowsing through a document that includes, a top surface, a sensorsurface and a bottom surface. A sensor area on the sensor surfacedetects the position of a finger along one direction and the force ofthe finger on the sensor area. The browsing device also includes fourbuttons/on-off switches on the bottom surface, and four additionalbuttons/on-off switches on the said top surface, each of which isoperated by the fingers. An electrical circuit converts the force andposition of the finger on the sensor area as detected by the force andposition sensors on that area into electrical forms and outputs them.The electrical circuit also outputs the on/off states of the fourbuttons/on-off switches on the bottom surface, and four additionalbuttons/on-off switches on the said top surface. The device connects toa computer configured to implement in software the control, sense, anddisplay mechanisms consistent with the users activity with the browsingdevice.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the invention and many of the attendantadvantages thereof will be readily obtained as the same becomes betterunderstood by reference to the following detailed description whenconsidered in connection with the accompanying drawings, wherein:

FIG. 1A is the block diagram of the browsing device according to thepresent invention, detailing input commands and output signals;

FIGS. 1B and 1C are a schematic perspective upper and lower views of afirst embodiment of the browsing device;

FIGS. 2A and 2B are top/bottom perspective views of the browsing deviceconfigured into a mini-book configuration used in conjunction with acomputer;

FIG. 2C is front perspective view of the browsing device configured intoa screen configuration used in conjunction with a computer;

FIG. 2D is a front perspective view of the browsing device configuredinto a mouse configuration used in conjunction with a computer;

FIG. 2E is a front perspective view of the browsing device configuredinto a gyro-mouse configuration used in conjunction with a computer;

FIG. 2F is a front perspective view of the browsing device configuredinto a one-hand configuration used in conjunction with a computer;

FIG. 2G is a front perspective view of the browsing device configuredinto a one-hand-gyro-mouse configuration used in conjunction with acomputer;

FIGS. 2H and 2I are side perspective and bottom views respectively ofanother embodiment of the mini-book configuration of FIG. 2A;

FIG. 3 is a top perspective view of a computer book displayed on ascreen that is to be browsed through using browsing device of thepresent invention;

FIGS. 4A and 4B are a flowchart that details the mechanisms for jumpingto other parts of the document being viewed/browsed through and movementthrough a document under the control of the thumb on the browsing deviceof present invention;

FIG. 5A is a top view of the computer book of the present invention thatuses a flipping method of moving through a document;

FIG. 5B is a top view of the computer book of the present invention thatuses a sliding method of moving through a document;

FIG. 5C is a top view of the computer book of the present invention thatuses a flashing method of moving through a document;

FIG. 5D is a top view of the computer book of the present invention thatuses a scrolling method of moving through a document;

FIG. 5E is a top perspective view of the computer book of the presentinvention that uses a vertical flipping method of moving through adocument;

FIG. 6A is a top perspective view of an open fan display for displayingpages and that is used in conjunction with the flipping method of movingthrough the document illustrated in FIG. 5A;

FIG. 6B is a top perspective view of a collapsed fan display fordisplaying pages and that is used in conjunction with the flippingmethod of moving through the document illustrated in FIG. 5A;

FIG. 7 is a schematic block diagram of the browsing system thatincorporates the inventive browsing device of FIG. 1B;

FIG. 8 is a schematic electrical block diagram of the buttons and sensorportions of the browsing device of FIGS. 1B and 1C;

FIG. 9A is a schematic diagram of the signal-generating circuit usedwith any of the devices depicted in FIGS. 2A-2I to generate thenecessary output signals to the computer's RS232 port based on thevarious input commands as depicted in the block diagram in FIG. 1A;

FIG. 9B is a data structure of a communication signal format stored inmemory and generated by the circuit of FIG. 9A to communicate with thecomputer through the RS232 port;

FIG. 9C is a flowchart of a control program retrievable by themicro-controller chip 900 in the circuit of FIG. 9A so as to generatesignals in the format of FIG. 9B for the RS232 port of the computer;

FIG. 9D is a signal flow diagram of signals from the browsing device tothe browsing/viewing software;

FIG. 10A illustrates a computer book displayed on a screen that is to bebrowsed by using the flipping method and the browsing device of thepresent invention;

FIG. 10B is a sequence of images showing how one page of the computerbook in FIG. 10A flips across;

FIG. 10C illustrates the simultaneous flipping of more than one page ofthe computer book of FIG. 10A when the flipping speed is fast;

FIG. 10D illustrates the activation of a jump cursor operation on thethickness of the book in FIG. 10A;

FIG. 10E illustrates a jump operation to a different portion of thebook;

FIG. 10F illustrates the creation of a finger-bookmark;

FIG. 10G illustrates the retention of the finger-bookmark created inFIG. 10F;

FIG. 10H illustrates a jump operation made to a finger-bookmarked page;

FIG. 10I illustrates all the created finger-bookmarks;

FIG. 11 shows a WINDOWS interface that allows the user to adjust thesensitivities of the force and position sensor on the browsing device;

FIGS. 12A-12I show the flowchart of one embodiment of a computer-basedprocess that generates the necessary operations for the purpose ofbrowsing through a document as controlled from a browsing device;

FIGS. 13A-13B show a flipping display embodiment of the presentinvention;

FIGS. 14A-14C illustrate the process by which the flipping display ofFIGS. 13A and 13B is generated;

FIGS. 15A-C are schematic perspective views of another embodiment of thebrowsing device that uses many thin, hard, and flexible pieces ofmaterial bound together in the manner of the binding of the pages of abook;

FIGS. 16A-16B are top/bottom schematic perspective views of anotherembodiment of the browsing device that uses a display screen fitted to aslanted surface to display a material thicknesses before or aftercurrently viewed material;

FIG. 17A is a comparative schematic diagram ofdirectories/sub-directories in a “window” compared with pages of acomputer book that uses the flipping method of FIG. 5A in order to movethrough the book;

FIG. 17B is a comparative schematic diagram ofdirectories/sub-directories and the files in a WINDOWS system comparedwith chapters and sections in a computer book that uses the flippingmethod of FIG. 5A to move through the book;

FIG. 17C is a comparative schematic diagram of working windows in aWINDOWS system compared with pages of a computer book that uses theflipping method of FIG. 5A to move through the book;

FIGS. 18A-18M illustrate the various implementation processes of a“Books” interface according to the present invention;

FIGS. 19A-19C illustrate the one-sided flipping display for the Booksinterface;

FIG. 20 illustrates a sequence of display screens representing atear-off operation for window-pages of the Books interface;

FIG. 21 illustrates the combined use of the Books and WINDOWS interface;

FIGS. 22A and 22B are a flowchart of a method for implementing theprocesses of the Books interface;

FIG. 23 is a flowchart of a method for displaying a set of informationon a display screen as controlled by a browsing device;

FIG. 24 is a flowchart of a method for browsing a set of information ona display screen;

FIG. 25 is a flowchart of a user-interface method according to thelibrary metaphor aspect of the present invention; and

FIG. 26 is a flowchart of a Books interface method according to thelibrary metaphor aspect of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to the drawings, wherein like reference numerals designateidentical or corresponding parts throughout the several views, and moreparticularly to FIG. 1A thereof which depicts the browsing device 100according to the present invention that can be used in conjunction withexisting computer systems for the purpose of browsing through documentsor any information stored in the computer. While certain embodiments ofthe browsing device (e.g., device 100) are shown herein, other datainput devices, such as keyboards, keypads, a computer mouse used withpull-down menus, etc., may be used as well to accomplish the browsingfunctions, albeit in a less convenient format. Nevertheless, inreference to the browsing device 100, four commands are input anddetected by the browsing device 100. These commands include thefollowing: (a) specifying whether a movement in a forward direction orin a backward direction through the document is to be performed; (b)specifying a speed of the movement described in (a); (c) jumping to aspecified location in the document or information involved; and (d)specifying that certain portions of the document or the informationinvolved is to be bookmarked. Based on these commands, signals aregenerated and output to effect the necessary operations in a computersystem (e.g., computer 205 in FIG. 2A) attached to the browsing device100.

FIGS. 1B and 1C depict a top and bottom view of one embodiment of theprimary browsing device 100 according to the present invention. Thebrowsing device 100 includes a slanted surface 120, extending from a topsurface 110 of the browsing device 100. The slanted surface 120 supportsa user's thumb 122 on which to rest, although the user may use anotherinstrument or finger as well. During operation, four other fingers141-144 are placed on a bottom surface 130 of the device (as shown inFIG. 1C), opposed to the thumb 122. On the slanted surface 120 a set offorce and position sensors disposed in a sensor area 121 (sensors suchas an appropriately customized version of Interlink ElectronicsThin-film Linear Potentiometer Part Number 360) detect (a) a force ofthe thumb 122 on the slanted surface 120 within the sensor area 121 and(b) the position of the thumb 122 (or one of the other fingers) in thesensor area 121 in the direction of the slant. Henceforth the directionof the slant is referred to as an x-direction, as shown in FIG. 1B,where the positive x-direction points away from the edge that adjoinsthe top surface 110 and the slanted surface 120. The position of thethumb 122 (or one of the other fingers) in the y-direction (a directionperpendicular to the x-direction on the slanted surface 120) gaugeswhether the thumb 122 remains on the sensor area 121.

As shown in FIG. 1C, four buttons/switches 131-134 are placed on thebottom surface 130, within easy reach of the four fingers (141-144)during those operations when these fingers (141-144) are placed on thebottom surface 130. On the top surface 110 of the device 100, anotherfour buttons/switches (111-114) are placed, preferably parallel to theedge adjoining the top surface 110 and the slanted surface 120, as shownin FIG. 1B.

The force of the thumb 122 (or one of the other fingers) on the sensorarea 121 dictates how fast to move through the document, and theposition of the thumb 122 (or one of the other fingers) along thex-direction dictates the point to which the document is jumped. Moreparticularly, the buttons (131-134, and 111-114) on the bottom and topsurfaces (130 and 110 respectively) are for the purposes of bookmarking.The use of these buttons (131-134, 111-114) depends on the particularconfiguration in which the browsing device 100 is used and will bedescribed below.

FIGS. 2A-2F depict alternative configurations to employ the browsingdevice 100 for producing the browsing input. The browsing device 100depicted in FIGS. 1B and 1C is preferably used with an operator's righthand. A left-hand version of the browsing device 101 as depicted inFIGS. 2A and 2B is employed in some of the alternative embodimentsdepicted in FIGS. 2A-2F.

FIGS. 2A and 2B depict top and bottom views of one embodiment of themini-book configuration 200 in which a left-hand version 101 and aright-hand version 100 of the browsing device 100 are joinedback-to-back through latching mechanisms 151 and 152 as shown in FIG. 1Cand the resulting assembly 200 is electrically operatively connected tothe computer 205 (such as an IBM Aptiva A92, Part Number 42H0333). Inoperation, the left and the right hands operate the devices on the leftand right respectively, hence the left thumb 172 and right thumb 122rest on the left and right sensor areas (171 and 121) respectively. Theother four fingers of both hands are placed near the buttons (131-134,181-184) on the bottom surfaces 130 and 180 of both the left and rightdevices. In this configuration, the buttons (111-114, 161-164) on topsurfaces 110, 160 are available for auxiliary functions.

In this configuration, the direction of movement (i.e., forward orbackward) through the document (using flipping or other methods, all tobe described in detail later) is effected through the force applied bythe right and left thumbs (122 and 172) on the sensor areas 121 and 171respectively. The right thumb 122 force activates a forward movementthrough the document and the left thumb 172 force activates a backwardmovement. The speed of movement is preferably proportional to the forceapplied, although other force/speed relationships may be employedsuccessfully. The right thumb 122 operating the right sensor area 121activates jumping to points in the document involved that lie betweenthe currently viewed material in the document and the end of thedocument and the left thumb 171 operating the left sensor area 172activates jumping to points in the document involved that lie betweenthe currently viewed material in the document and the beginning of thedocument. As shown in FIG. 2B, the right fingers other than the thumb122 operating the buttons 131-134 on the bottom surface 130 createbookmarks for points in the document involved that lie between thecurrently viewed material in the document and the end of the documentand the left fingers other than the thumb 172 operating thecorresponding buttons 181-184 on the corresponding bottom surface 180create bookmarks for points in the document involved that lie betweenthe currently viewed material in the document and the beginning of thedocument.

An x-direction is defined along the slanted surface for the left-handdevice 101 that is perpendicular to the edge adjoining the top surface160 and the slanted surface 170 of the left-hand device 101 and thepositive x-direction is taken to be the direction away from that edge asillustrated in FIG. 2A. The operations to be described below for thesensor areas 121 or 171 and for the buttons on the bottom surfaces131-134 or 181-184 are similar for both the right-hand device 100 andthe left-hand device 101 and unless necessary, only the operations forthe right-hand device 100 will be described.

The position of the thumb 122 in the x-direction on the sensor area 121(refer to FIG. 1B) as detected by the position sensors on the slantedsurface 120 determines the page in the document to jump to (for thecases in which the material in the document is organized into pages tobe flipped, slid or flashed on the computer screen, the details of whichwill be described later) or the point in the document to jump to (forthe case in which material in the document is not organized into pageslike in the case of the use of scrolling to move through the document).Let x=0 (the origin) be the point at which the slanted surface 120 meetsthe top surface 110. The thumb 122 will be referred to as being “at”position x1 when it covers the point x1 and some contiguous points tothe “right” of x1, i.e., some of the contiguous points x such that x>x1,and “right” refers to the conventional positive axial direction. This isbecause the intersection of the thumb 122 and the slanted surface 120(in the sensor area 121) on the browsing device 100 has a small spatialextent and hence it will have some dimension in the x-direction.

FIG. 3 shows the “book” 300 displayed on the computer screen, henceforthreferred to as the computer book. When using the current embodiment ofthe browsing device 100, in order to allow the user to have an idea ofthe thickness of the computer book 300 on both sides, so that the usercan have a good idea of the approximate location of the currently viewedpages in the document involved, the thickness 310 of the computer book300 on both sides is shown on the computer screen next to the displayedpages 301 as shown in FIG. 3.

In the browsing of a real book, the thumb selects the page to jump to bysliding along the side until it reaches that page. In the process ofaccomplishing this, the thumb slides along the side of the book in adirection perpendicular to the edge of the book the thumb is touching(similar to the x-direction in FIG. 1B) by an amount proportional to howfar along in the document the page to be jump to is from the currentpage. Because in the browsing device 100 depicted in FIG. 1B, the widthof the slanted surface felt by the thumb does not change, even as theamount of material/number of pages present on that “side” of the “book”changes, the translation of the x-position of the thumb to a page in thedocument to jump to is slightly more complicated.

Consider initially no force is applied onto the sensor area 121 by thethumb 122 and a certain page of the document involved is beingdisplayed. When the thumb 122 is placed at any position x=XT1 on thesensor area 121 and when a force is applied for a time longer than auser-specified pre-defined, short period, preferably, but not limitedto, a range of 100 milliseconds to 1 second, the document is movedthrough forward (or backward if the left sensor area 171 is activated bythe thumb 172). The speed of movement is proportional to the forceapplied. If the force is applied only momentarily, (e.g., less thanpreferred 100 millisecond) no movement through the document takes place,but a starting position for any subsequent jumping process is taken tobe XT1. When the thumb 122 is moved from x=XT1 to a position XT2(XT2>XT1) and the thumb 122 is pressed momentarily, a jump is made to apage in the document that is further along. Let XS be the width of thesensor area 121 and let PR be the number of pages remaining from thecurrent page to the end of the document (or to the beginning of thedocument, if the left device 101 is activated). PJ, the number of pagesto skip over is equal to PR*(XT2−XT1)/(XS−XT1). That is, at any giventime, the distance along the slanted surface from the current thumbposition XT1 to the edge, XS, is treated as being proportional to thenumber of pages remaining from that point to the end or beginning of thedocument. In the case of using the method of scrolling to display thedocument in which the material is not organized into pages, then PRbecomes the amount of material, say the number of lines of material,remaining and PJ becomes the amount of material to be skipped over.

After the thumb 122 moves from the starting position XT1 in the positivex-direction, before it applies any force to effect a jump, it is atliberty to move between XT1 and XS in the positive or negativex-directions to search for a page it wishes to jump to. If in thisprocess the thumb 122 moves in the negative x-direction beyond thestarting position XT1, whatever new position the thumb 122 finds itselfin and after having applied a momentary force in that position, thatposition will become a new starting position XT1 for the computation ofany subsequent jump. If the thumb 122 did not apply any momentary forceafter having moved in the negative x-direction beyond the startingposition XT1, and then it moves back past XT1 in the positivex-direction, the starting position for any subsequent jump will be XT1.

When one continues to apply force for longer than the user-definedpre-defined, short time period on the sensor area 121 using the thumb122 after a jump is made while holding the thumb 122 at the sameposition, the movement through the document begins from that page/pointonwards, and the speed of movement is proportional to the force appliedas before.

The starting position of the thumb 122 for the jumping process can be atx=0 or any position XT1 in the x-direction. But starting at x=0 allowsthe use of a larger width (from x=0 to XS) to correspond to theremaining material and thus a better resolution of control in terms ofjumping/skipping. At any given time, no matter how much remainingmaterial there is, while one is moving through the document by havingthe thumb 122 at a given position, one can always move the thumb 122back to a position of smaller x (that does NOT trigger a movementthrough the document in the opposite direction—one has to use the otherdevice operated by the other hand to change direction) or x=0, and applysome force momentarily to signify that the user has now repositioned thethumb 122. The user may then continue the process of moving through thedocument by applying the force longer than a pre-defined, short moment,or use this current position as a new reference/starting point (XT1) andslide the thumb 122 to a new position (XT2) to skip through somematerial. The movement of the thumb 122 back to a smaller x or x=0 todefine a starting position XT1 before the jumping process gives the usera better resolution for the jumping/skipping control.

The mechanisms for jumping to some other parts of the document andmovement through the document under the control of the thumb 122 asdescribed above are described in the flowchart in FIG. 4.

Consider initially a certain page of the document is being displayed. Instep 401, the thumb 122 is placed at position XT on the sensor area 121.The process flows to step 402, where a check is made to determine if aforce has been applied momentarily or longer (than a predefined, shorttime). If not, nothing happens; the thumb 122 may move to a new positionXT (step 403) or stay in the same position XT. If an affirmativeresponse is received in step 402, a check is made to see if the thumbhas applied the force longer than momentarily. If so, the process flowsto step 405 where movement through the document is initiated (with aspeed proportional to the force applied and a direction depending onwhether the left-hand device 101 or the right-hand device 100 in themini-book configuration 200 is activated). If a negative response isreceived in step 404, the process flows to step 406. Similarly, afterinitiation of movement through the document in step 405, the processalso flows to step 406. In step 406, the starting position XT1 isassigned the value of the current thumb 122 position XT. The processthen flows to step 407 where the thumb 122 either stays in the currentposition or moves to a new position XT (<>XT1). The process then flowsto step 408, where a check is made to find out whether XT is greaterthan XT1. If so, a check is made in step 409 to find out whether a forceis applied at XT; if not, nothing happens and the thumb may move to anew position XT (<>XT1) in step 407. If the response to step 409 isaffirmative, the process flows to step 410, where XT2 is assigned thevalue of the current XT. The process then flows to step 411 where avalue PJ=PR*(XT2−XT1)/(XS−XT1) is computed. (PR is the number of pagesor amount of material remaining from the current page to the end of thedocument if the right-hand device 100 in the mini-book configuration 200is now being activated or from the current page to the beginning of thedocument if the left-hand device 110 in the mini-book configuration 200is being activated. XS is the width of the sensor area 121.) A jump iseffected that skips over PJ pages or PJ amount of material in thedocument. The process then flows back to step 401 where the processrepeats.

If in step 408, XT is found to be smaller than XT1, then the processflows to step 412 which checks if a force has been applied at XTmomentarily or longer. If not, nothing happens, the process flows tostep 407 where the thumb can move to a new position XT. If so, step 413checks to see if the force applied is longer than a pre-defined, shortperiod. If the force applied is longer than a pre-defined, short period,the process flows to step 414 where movement through the document isinitiated (with a speed proportional to the force applied and adirection depending on whether the left-hand device 101 or theright-hand device 100 in the mini-book configuration 200 is activated).If a negative response is received in step 413, the process flows tostep 406 where the starting position XT1 is assigned the current valueof XT. After the initiation of movement through the document in step414, the process also flows to step 406.

The above described method of jumping/skipping through the pages throughthe use of the sliding of the thumb 122 over a certain distance (in thex-direction) is referred to as the relative distance method whereas thejumping/skipping in the process of browsing through a physical book usesabsolute distance (in the direction perpendicular to the edge of thebook). Another embodiment of the browsing device 1600 that uses absolutedistance will be described later in reference to FIG. 16.

To provide the user with feedback of his/her thumb movement on thesensor area 121 along the x-direction (FIG. 1B) before he/she effectsthe jump to a different part of the document involved, an indication 380of the position of the thumb 122 is provided on the thickness 310 areaof the book 300 displayed on the screen next to the pages 301 currentlybeing viewed (FIG. 3). This indication 380 is referred to as the jumpcursor. Recall that the thumb 122 starts from one point on the sensorarea 121 and slides on the sensor area 121 in the x-direction before aforce is applied to effect the jump. In this process, the thumb 122slides over many points on the x-position sensor 121 on the slantedsurface 120. An indication is made on the computer screen of thelocation of the page that would be jumped to had the thumb 122 applied aforce at any given point along the x-direction. As the thumb 122 slideson the sensor area 121 before the application of the force, the wholewidth of the thickness 310 displayed on the screen next to the currentlyviewed pages 301 is preferably divided into two parts. One partcorresponds to all the pages that will be skipped if a force wereapplied at that point in the x-direction on the sensor area 121. Theother part corresponds to the pages that remain from the page jumped toif a force were applied to the end of the document (if one is movingforward through the document and the right hand device 100 in themini-book configuration 200 is being activated) or to the beginning ofthe document (if one is moving backward through the document and theleft-hand device 101 in the mini-book configuration 200 is beingactivated). There are two ways to display the boundary 380 (a thin line)between these two parts that corresponds to the point or page in thedocument jumped to if a jump were to take place. Preferably within thethickness area 310 on the computer screen is shown by the boundary, athin line, as being different in darkness, texture, or color (preferablydarkness) from the rest of the thickness 310—hence one would see a lineoriented perpendicular to the x-direction (parallel to the y-direction,FIG. 1B) and whose length is confined to the thickness 310 region movingin the positive or negative x-direction depending on the direction ofmovement of the thumb 122 on the sensor area 121. Alternatively, onepart, say the left part, is shown as being different in darkness,texture or color (preferably darkness) from the other part, say theright part—hence one would see one part expanding and the othercontracting, or vice versa, depending on the direction of movement ofthe thumb 122 on the sensor area 121.

The use of the four buttons 131 to 134 on the bottom surface 130 of thebrowsing device 100 will be described for bookmarking. During operation,each of the other four fingers 141 to 144 except the thumb 122 is placednear each of the four buttons 131 to 134 and each of these buttons ismeant to be operated by the finger nearest to it. At any moment when oneis viewing a page of the document and decides that it might be ofinterest to return to later, one presses one of the buttons 131 to 134momentarily and then lets go, either once or twice, depending on whetherone wishes to create a finger-bookmark or a permanent-bookmarkrespectively as will be described below. The page will then bebookmarked and a bookmark 320 is displayed on the screen as shown inFIG. 3—sticking out from the position of the page/point that it marks onthe side of the book 300. One can use the same button (one of thebuttons 131 to 134) to bookmark more than one point/page. All thebookmarks 320 that are created by the same button (i.e., one of buttons131 to 134) are clustered together (e.g., one of clusters 361 to 364)and displayed as such as shown in FIG. 3.

After one has bookmarked a certain page/point on a certain side (right,371, or left, 372, FIG. 3) of the book, if one moves through thedocument past that page/point (forward or backward respectively), thebookmark will either disappear or be transferred to the other side,depending on whether the bookmark is a finger-bookmark or apermanent-bookmark respectively. The finger-bookmarks are more like thebookmarks created by the use of the fingers when browsing through aphysical book—they are more temporary and they “disappear” after thebookmarked page/point has been passed. In the case of a page/pointmarked by a permanent-bookmark, when the page/point is passed thebookmark will be transferred to the other side and be grouped in thecluster that corresponds to the same cluster in the other side fromwhich it originates. (The preferred method by which this transfer is tobe effected and shown on the computer screen depends on the method ofmovement through the document which will be described later togetherwith the description of those methods). To remove a permanent-bookmark,one presses the corresponding button twice in quick succession (e.g.,“double click”) when the bookmarked page/point is currently in view.(The permanent bookmarks are more like the bookmarks created byinserting, say, a slip of paper when one is browsing through a physicalbook.) The finger-bookmarks and the permanent-bookmarks are displayeddifferently on the computer screen. (They are differentiated either byshape, size, color, marking, or lettering.)

For the finger-bookmark, if one wishes that the bookmark not be removedafter one has moved through the document past the correspondingpage/point, one can transfer it to the other side by creating anotherbookmark using the fingers on the other hand, much like what one doeswhen browsing through a physical book. The permanent-bookmarking processtends to create many bookmarks and they should be used only ifnecessary.

To return to a bookmarked page/point (whether it be finger-bookmarked orpermanent-bookmarked), one presses the button (one of 131-134 or one of181-184) that corresponds to the cluster to which the page/point belongsand uses the corresponding thumb 122 or 172 to apply force to thecorresponding sensor area 121 or 171 while continuing to press thebutton. If there is more than one bookmarked page in each cluster, thepage that is nearest the current page will be jumped to. (Note that thiscan obliterate some finger-bookmarks in the other clusters if in thisprocess the document is moved through past those corresponding pages.)After having jumped to a bookmarked page, if one wishes to take sometime to read that page, one has to stop applying force using the thumb122 or 172 on the corresponding sensor area 121 or 171 or else theprocess of moving through the document will begin. One should also stoppressing the corresponding button (one of 131-134 or one of 181-184).(This is to relieve the finger of unnecessary tension). If this page wasa finger-bookmarked page and one wishes to bookmark this page again, onehas to press the button (one of 131-134 or one of 181-184) again (onceor twice depending on whether now one wishes to finger-bookmark orpermanent-bookmark it respectively).

To avoid confusion and speed up the browsing process, even though thefacility of using one button to bookmark more than one page is provided,hence creating the cluster of bookmarks associated with that button, itis to be avoided if possible. Hence, one should try to use as many ofthe buttons (131-134 and 181-184) provided as possible. That is, ifthere are four pages to be bookmarked on one side, one should use allfour buttons (131-134 or 181-184, depending on whether it is the rightside 371 or left side 372 respectively that is involved), creating onlyone bookmark in each cluster. This way, a speedier jump to a desiredbookmarked page is possible because one does not have to jump throughthose unwanted pages bookmarked in the same cluster before one arrivesat the intended page.

At any given time, only one of the hands is supposed to performoperations (i.e., only one of the two browsing devices 100 and 101 issupposed to be activated). If both hands try to perform operations atexactly the same time, there will be no operation performed. If one handperforms an operation before the other hand, then that hand takespriority. One exception to this is when the device is used inconjunction with a flipping method 500 or 540 of moving through thedocument involved to be described in detail later (with reference toFIG. 5A and FIG. 5E), whereby the operation of both hands is used tocreate a “fan display” 600 or 610 (with reference to FIG. 6A and FIG.6B).

FIG. 2C depicts one embodiment of the screen configuration 210. In thisconfiguration 210, the operations are identical to that described abovefor the mini-book configuration 200 depicted in FIG. 2A, except now, inthis configuration 210, the two browsing devices 100 and 101 areseparated and attached to the sides of a screen 216 (such as an IBMColor Monitor G50, Part Number 96G1593). This is achieved by firstattaching these devices to a frame 215, and then attaching the frame 215to the screen 216. This is done because the browsing devices 100 and 101need to be firmly attached and we would like to use existing computerscreens 216 and hardware with no necessity of any physical modificationsto them.

FIG. 2D depicts one embodiment of the mouse configuration 220. In thisconfiguration 220, two browsing devices 100 and 101 are joined togetherin the same manner as in FIG. 2A and also mounted onto a mouse 225(e.g., a mouse adapted from the IBM Enhanced Mouse II, Part Number13H6714). This allows the use of one hand for operating the browsingdevices 100 and 101 as well as the mouse 225. The operation of thebrowsing devices 100 and 101 is largely the same as that described forthe mini-book configuration 200 except for the following observations.The mouse-browser configuration 220 is preferably placed on a flatsurface like the top of a table, but not typically held in the hands.The four buttons 131-134 on the bottom surface 130 (FIG. 2A) of theright-hand device 100 are now not primarily used, but instead the fourbuttons 111-114 on the top surface 110 replace the functions of the fourbottom buttons 131-134. Similarly, for the left-hand device 101, thefour buttons 161-164 on the top surface 160 replace the functions of thefour buttons 181-184 on the bottom surface 180 (FIG. 2A). The eight topbuttons 111-114 and 161-164 are now operated only by the index fingerwhich also operates the mouse buttons 226 and 227. For the operation ofthe left sensor area 171, the thumb of the same hand is preferably used.For the operation of the right sensor area 121, one of the other threefingers, normally the middle finger, is used. (For a left-handed,“southpaw”, this is reversed).

FIG. 2E depicts one embodiment of the gyro-mouse configuration 230(which includes an adapted gyro-mouse such as a GyroPoint® Desk fromGyration, Inc. of Saratoga, Calif., Part Number PA00038-001). Currently,there is a type of mouse called the gyro-mouse that can be held in thehand and used away from the table top. This gyro-mouse 235 can beattached to the mini-book configuration 200 of FIG. 2A which consists ofa right-hand browsing device 100 and a left-hand browsing device 101,and the whole assembly—the gyro-mouse configuration 230—can be used inthe hand away from the table top. Because in the mini-book configuration200, both hands are used and the bottom buttons 131-134 and 181-184 areoperated by all the fingers except the thumbs, the gyro-mouse 230 mustbe attached to the mini-book configuration 200 in such a way that theindex fingers can also be used to operate the gyro-mouse buttons 236 and237, as shown in FIG. 2E. The gyro-mouse buttons 236 and 237 must benear enough to the buttons 131 and 181 operated by the index fingers sothat the index fingers can reach them (buttons 236 and 237) easily.While preferably a specially made gyro-mouse 235 will be constructed tojoin with the mini-book configuration 200 as shown in FIG. 2E, themini-book 200, screen 210, and mouse 220 configurations of the browsingdevices 100 and 101 preferably add modularly to existing computerhardware.

FIG. 2F depicts the one-hand configuration 240 of the browsing device.In this configuration, only one browsing device 100 is used, freeing onehand to do something else. During operation, the device 100 is held inone hand in much the same way as that in the mini-book configuration200—the thumb is placed on the sensor area 121 while the other fingersoperate the buttons 131-134 on the bottom surface 130. The operation islargely the same as that for the mini-book configuration 200 except nowthe browsing device 100 functions as the left device 101 as well as theright device 100 in the mini-book configuration 200. A triple click ofthe button 131 (refer to FIG. 1B—the button nearest the index finger)toggles between these two states. This configuration 240 may not handleas well as the mini-book configuration 200 but it frees one hand forother operations. (Instead of triple-clicking an existing button such asbutton 131, an alternative is to add another button to the existingbuttons and allow a single click of that button to effect the sameoperation.)

FIG. 2G depicts the one-hand-gyro-mouse configuration 250 of thebrowsing device. In this configuration, a gyro-mouse 255 is attached toone browsing device 100. The operation is largely the same as in theone-hand configuration 240 in FIG. 2F except now the one index fingeralso operates the mouse buttons 256 and 257. Again, like in the case ofthe gyro-mouse configuration 230 depicted in FIG. 2E, in thisconfiguration the buttons 256 and 257 of the gyro-mouse 255 must bepositioned near the button 131 on the bottom surface 130 of the browsingdevice 100 that is nearest the index finger during normal operations ofthe device 100 so that the index finger can operate all three buttons256, 257 and 131 easily. If no such gyro-mouse 255 exists, then aspecially made one has to be used.

FIGS. 2H and 2I depict side and bottom views of a browsing device 260that is another embodiment of the mini-book configuration 200 thatprovides good ergonomy for the human hands and fingers and that alsoincorporates mouse buttons 263, 264, 265, and 266 so that the device 260can also function as a usual computer mouse. The sensor areas 261 and262 incorporates X-Y position sensors so that in the mouse mode they canaccept X-Y coordinates input through a finger to control the usual mousecursor on the computer screen. For browsing-related operations, theoperations of sensor areas 261 and 262 are similar to the operations ofsensor areas 121 and 171 respectively on the browsing device 200 and thebuttons 271-278 function like the buttons 131-134, 181-184 respectively.The buttons 281-288 function like the buttons 161-164, 111-114respectively. One mode of operation of the browsing device 260 is thatit is held by both hands, with the left thumb placed on the sensor area262 and the right thumb on the sensor area 261. All the other fingerscurl around the side of the browsing device 260 to reach the bottom tooperate the buttons 271-278 for browsing-related operations such asbookmarking and the buttons 263 and 264 for the usual two-button mouseoperations in, say, MICROSOFT's WINDOWS operating system. In anothermode of operation, the browsing device 260 is placed on a flat surfacesuch as the table-top with the sensor areas 261 and 262 facing up, andonly one hand is used to operate the device. In this mode, if the righthand is used, the thumb and the middle finger, say, would operate thesensor areas 261 and 262 respectively while the index fingers wouldoperate the buttons 281-288 for browsing-related operations such asbookmarking and operate the buttons 265 and 266 for the usual two-buttonmouse operations.

The browsing device 100 employed in the configurations 200, 210, 220,230, 240, and 250, among others, and the browsing device 260 can be usedin conjunction with a number of different methods for displaying themovement through the document involved on the computer screen in acomputer book. Among others, there are five methods which will bedescribed here.

FIG. 5A depicts one preferred embodiment of the flipping method 500. Inthis method, the material in the document is organized into pages and asone moves through the document, the pages are shown to flip across fromright to left or vice versa, depending on the direction of movement,much like what happens when one flips through a physical book. In thismethod, when a permanent-bookmark is being transferred from one side tothe other, it will be shown to be attached to the page, sticking outfrom the page, and flipped together with the page. Also, to be consonantwith the flipping of successive pages, in the process of jumping to adifferent page in the document, the pages skipped are shown to flipacross together as a thick page (the thickness being proportional to thenumber of pages involved) like in the case of a physical book. Thedisplay of the thicknesses of the material in the document on both sidesof the displayed pages, the use and display of bookmarks(finger-bookmarks or permanent-bookmarks), the operations ofbookmarking, and the display of the location, on the thicknesses, of thepage/point in the document that would be jumped to were jumping to beeffected at any given moment based on, say, the thumb's x-position onthe sensor area 121 at that moment are like what is described above forthe computer book 300 in FIG. 3.

One method of generating flipping pages from a document stored insemiconductor, magnetic, optical, or other media on a personal (e.g.laptop) computer in the form of a text file, such as a text file in theWINDOWS 95 operating system involves several steps, as discussed below.First, the contents of the text file is displayed on the computer screen(such as an IBM Color Monitor G50, part Number 96G1593) using, say aword processing software such as MICROSOFT WORD Version 7.0 fromMICROSOFT Corporation, running on the computer. The image on thecomputer screen which is stored in the screen dump can then be put intothe clipboard using the “Print Screen” key on the keyboard (such as anIBM Keyboard, Part Number 06H9742). The clipboard can be imported as animage file into a graphics software such as VISONEER PAPERPORT fromVisioneer Communications, Inc. of Palo Alto, Calif., Part NumberC1132-90000 running on the computer using the “Paste” command providedby the software, and then exported and stored as an image file in, say,the TIFF format. Each page in the document can be captured in this wayin one TIFF file. Then, using a video editing/movie making software suchas Adobe PREMIER 4.0 from Adobe Systems Incorporated of Mountain View,Calif., part Number 02970103 running on the computer, the TIFF files,each containing one page of the document, can be imported into thesoftware and using the “Motion” command and superimposition facilitiesprovided by the software a “movie” of flipping pages can be generatedand if necessary, exported and stored in a motion picture format such asa .AVI file.

For the purpose of the present invention, the variouscomponents/operations described above for generating flipping pages froman existing document file are preferably integrated into a singlesoftware process that may be conveniently ported from one computer tothe next in a computer readable medium, such as an optical disc (e.g.,CD ROM, or digital versatile disc, DVD), magnetic media (e.g., floppydiskette), or semiconductor memory (ROM, PROM, application specificintegrated circuit, ASIC, or Field Programmable Gate Array, FPGA). Analternative method reads from the existing document file directly,generates the necessary images for all the pages, and then creates a“motion picture” of flipping pages from these images. To move throughthe document forward or backward at any selected speed, mechanismssimilar to forwarding or reversing at any selected speed when viewing amotion picture file (such as one in the .AVI format) using a softwarevideo player (such as Video for WINDOWS from MICROSOFT Corporation) areused. The other features such as the thicknesses 310 (FIG. 3), thebookmarks 320 (FIG. 3) and the operations of bookmarking etc. are alsoincorporated.

FIG. 6A depicts one embodiment of a open fan display 600 and FIG. 6Bdepicts one embodiment of a collapsed fan display 610 that can becreated in conjunction with the flipping method 500. In the process ofeffecting the flipping of the pages using one thumb (say, the rightthumb 122, which operates the sensor area 121 in the configuration 200),one can stop the pages from being completely flipped to the other sideby the use of the other thumb (say, the left thumb 172) by applying aforce on its associated sensor area (171 in the configuration 200, say)after the page has begun flipping. This force will be referred to as theopposing force. The force applied by the other thumb (in this case, theright thumb 122) will be referred to as the flipping force.

There are two kinds of fan display that can be created—the open fandisplay 600 or the collapsed fan display 610—depending on the magnitudeof the opposing force. If the opposing force is of a magnitude roughlythe same as or smaller than the flipping force, the pages 603 that havebeen flipped since the beginning of the process (i.e., since theopposing force has been applied) form equal angles between themselves aswell as the two “flat” pages 601 and 602 on the left and right sides ofthe book as depicted in FIG. 6A. This creates the open fan display 600.If the opposing force is greater than the other force, a collapsed fandisplay 610 is created as shown in FIG. 6B. In this display 610, all thepages 605 that have been flipped since the beginning of the process(i.e., since the opposing force has been applied) are collected in athick page 604 that forms an equal angle with the two “flat” pages 606and 607 on the left and right sides of the book as depicted in FIG. 6B.

The open fan display 600 or the collapsed fan display 610 can also becreated in conjunction with the process of jumping to another page.Earlier it was described that in order to be consonant with the flippingof successive pages, in the process of jumping to a different page inthe document, the pages skipped are shown to flip across together as athick page (the thickness being proportional to the number of pagesinvolved) like in the case of a physical book. This thick, flipping pagewill be treated like any of those flipping pages 603 in the process ofcreating the open fan display 600 or the flipping pages 605 in theprocess of creating the collapsed fan display 610. Hence after a jumpingprocess has been initiated and after the skipped pages have begunflipping across together as a thick page, if one were to now apply anopposing force, the process of creating a open fan display 600 or acollapsed fan display 610 will begin as described above.

If the thumb that initiated the flipping now stops applying force—i.e.,the flipping force—to the sensor area (121 or 171 in the configuration200, say), the pages will freeze in the open fan display 600 or thecollapsed fan display 610, depending on which type of display is beingcreated. For the collapsed fan display 610, at the moment when theflipping force stops, there could be one page 605 that is still in theprocess of being flipped as depicted in FIG. 6B. This page willimmediately collapse onto the center, thick page 604 that has collectedin it all those pages flipped earlier.

The open fan display 600 facilitates the viewing of many pagessimultaneously, even though only the rough contents of each page can beproperly viewed. The collapsed fan display 610 facilitates the viewingand comparison of the two flat pages 606 and 607 that are currently inview since all the flipped pages 605 have been collected in the center,thick page 604 that does not block the view of the two flat pages 606and 607.

If now the thumb that applied the opposing force—the thumb thatprevented the complete flipping of the pages—removes its force, and thenthat is followed by the normal initiation of the flipping action byeither thumb, the fanned out pages 603 (in the case of the open fandisplay 600) or the center thick page 604 (in the case of the collapsedfan display 610) will collapse and flip over to the appropriate side andnormal flipping begins.

FIG. 5B depicts one embodiment of the sliding method 510. In this method510, the material in the document is organized into pages and the pagesare shown to slide across the screen, much like what happens when oneviews a microfilm. However, unlike the case of the conventionalmicrofilm viewer, more than one page can be displayed here, depending onthe choice of the user. In this method 510, when moving through thedocument, the pages are seen to move horizontally within a fixedframe—as a page slides leftward, as it appears on the right side of theframe, its left side appears first and as it reaches the left side ofthe frame, the left side of the page would disappear first and viceversa for rightward movement. FIG. 5B shows two pages being displayed atthe same time but in this method 510 any number of pages can bedisplayed at the same time, depending on the user's preference and theselection made.

In the sliding method 510, when a permanent-bookmark is beingtransferred from one side to the other, it will be shown to disappearfrom the side from which it originates and appear on the other side whenthe page involved reaches the other side. To be consonant with thesliding of successive pages, in the process of jumping to some otherparts of the document, the page(s) jumped to is shown to slide into viewmuch like what happens when one operates a physical microfilm. Thedisplay of the thicknesses of the material in the document on both sidesof the displayed pages, the use and display of bookmarks(finger-bookmarks or permanent-bookmarks), the operations ofbookmarking, and the display of the location, on the thicknesses, of thepage/point in the document that would be jumped to were jumping to beeffected at any given moment based on, say, the thumb's x-position onthe sensor area 121 at that moment are like what is described above forthe computer book 300 in FIG. 3.

To generate sliding pages, a method similar to that described for theflipping pages for FIG. 5A can be used.

FIG. 5C depicts the flashing method 520, where the material in thedocument is organized into pages and one or more than one page at a time(as specified by the user) is flashed onto the screen as one movesthrough the document—that is, the current page(s) disappears and thenext page(s) before or after the current page(s) appears. FIG. 5Cdepicts, in particular, the case in which two pages are displayed at atime. When more than one page is displayed on the screen and flashing iseffected, it can be effected in two modes—the exclusive mode or theoverlapping mode. Consider the case of displaying two pages at one timeon the screen as shown in FIG. 5C. In the exclusive mode, the next twopages that appear are the two pages that follow the righthand page ofthe previously displayed pages. In the overlapping mode, the next twopages that appear are the righthand page from the previously displayedpages and the page that follows that page. Similarly, when more than twopages are displayed at any given time, the exclusive mode dictates thatthe next pages displayed will not be the same as the currently displayedpages and the overlapping mode dictates that the next pages displayedcan have some but not all of the pages that are the same as thecurrently displayed pages. Hence the overlap refers to the same pagesthat are displayed in the current display as well as the very nextdisplay of the pages. For more than two pages, the user can specify theamount of overlap for the overlapping mode.

In the flashing method 520, when a permanent bookmark is beingtransferred from one side to the other, it will be shown to disappearfrom the side from which it originates and appear on the other side whenthe page involved reaches the other side. The display of the thicknessesof the material in the document on both sides of the displayed pages,the use and display of bookmarks (finger bookmarks or permanentbookmarks), the operations of bookmarking, and the display of thelocation, on the thicknesses, of the page/point in the document thatwould be jumped to were jumping to be effected at any given moment basedon, say, the thumb's x-position on the sensor area 121 at that momentare like what is described above for the computer book 300 in FIG. 3.

To generate sliding pages, a method similar to that described for theflipping pages for FIG. 5A can be used.

FIG. 5D depicts the scrolling method 530. Even though scrolling usuallyresults in a blur, this method can still benefit from the ease ofcontrol using the browsing device 100. In this method 530, the materialin the document is not organized into distinct pages. Instead, lines oftext or portions of graphics disappear from the top of the display andappear at the bottom of the display or vice versa as the document ismoved through forward or backward respectively. The thicknesses 531 ofmaterial present before or after the currently viewed material are shownon the top and bottom of the display as shown in FIG. 5D. The bookmarks532 (finger-bookmarks or permanent bookmarks) can likewise be displayedon these thicknesses 531. The operations of bookmarking and the displayof the location, on the thicknesses 531, of the page/point in thedocument that would be jumped to were jumping to be effected at anygiven moment based on the thumb's x-position on the sensor area 121 atthat moment are like what is described above for the computer book 300in FIG. 3.

To generate scrolling pages, a method similar to what is used inMICROSOFT WORD Version 7.0, Part Number 62306 can be used, withappropriate enhancements for the display of the thicknesses 310 (FIG.3), the bookmarks 320 (FIG. 3) and the operations of bookmarking, etc.

If the mini-book configuration 200, say, is used in conjunction with thescrolling method 530 of moving through the document, the user can rotatethe mini-book configuration 200 held in his/her hand which is normallyused “horizontally”—with the left-hand device 101 held to the left andthe right-hand device 100 held to the right (FIG. 2A)—by, say, 90degrees clockwise, so that the left-handed device 101 is now on the topand the right-handed device 100 is now on the bottom (to achieve this,the left and right wrists will have to bend a fair bit). The controlswill now be more natural because they correspond better to what is seenon the screen—i.e., the left-hand/top device 101 and theright-hand/bottom device 100 will now operate the bookmarks on the topand bottom respectively of the material shown on the screen in thescrolling method 530.

In the scrolling method 530, depending on the user's preference, ascroll bar 533 and a marker 534 on it, similar to what is normally usedin a word processor, can be added to one side, say the right side, ofthe displayed material, as shown in FIG. 5D, to indicate the position ofthe currently viewed material in the document involved, but the marker534 here is not used in conjunction with the browsing device 100 foreffecting the scrolling of the document. (In current word processors,normally the marker 534 is used in conjunction with the mouse foreffecting the scrolling of the document.) Alternatively, bookmarks 535are added to the scroll bar 533 to indicate the pages bookmarked.However, the display of the bookmarks 532 on the top and bottom of thecurrently viewed material is still necessary because their positionsalong the top and bottom edges give an indication of the fingers andbuttons on the browsing devices 100 and/or 101 (depending on whether oneor two devices are being used) that are to be used to jump to the pagesthat they mark. In this method 530, when a bookmark is inserted, it isassociated with the material that is currently in view. Forpermanent-bookmarks, they disappear from one side (top or bottom) of thedisplay and appear on the other side (bottom or top respectively) whenthe associated material has gone completely out of view.

In the flashing method 520 and scrolling method 530, in the process ofjumping to some other parts of the document, the page(s) or parts of thedocument jumped to are flashed onto the screen, much like what happenswhen one uses the scroll bar in conjunction with the mouse to jump tosome other parts of the document in a typical word processor.

FIG. 5E depicts the vertical flipping method 540 of the browsing device.This method is similar to the flipping method 500 depicted in FIG. 5A,and except for the flipping action that is effected vertically insteadof horizontally, all other operations are the same as that described forthe flipping method 500, including the vertical equivalents of the openand collapsed fan displays depicted in FIGS. 6A and 6B. Similar to thecase described above for the scrolling method 530, if the mini-bookconfiguration 200, say, is used in conjunction with the verticalflipping method 540 of moving through the document, the user can rotatethe mini-book configuration 200 held in his/her hand which is normallyused “horizontally”—with the left-hand device 101 held to the left andthe right-hand device 100 held to the right (FIG. 2A)—by, say, 90degrees clockwise, so that the left-handed device 101 is now on the topand the right-handed device 100 is now on the bottom (to achieve this,the left and right wrists will have to bend a fair bit). The controlswill now be more natural because they correspond better to what is seenon the screen—i.e., the left-hand/top device 101 and theright-hand/bottom device 100 will now operate the bookmarks on the topand bottom respectively of the material shown on the screen in thevertical flipping method 540.

The simultaneous multiple indexing facility is now described. In theprocess of viewing a document, if there is a keyword or phrase that isof interest to the user, one can select it using one of the usualmethods—the mouse cum cursor method, the finger cum pressure-sensingcomputer display screen method, etc.—and then all those pages thatcontain the explanations or related topics of the selected item willbecome permanently-bookmarked—i.e., all the corresponding bookmarks 320will appear on the displayed computer book 300 like that described above(FIG. 3). On the bookmarks 320, markings, letters or otherwise, willappear to indicate the kind of information these pages contain about theselected item (e.g., basic definition, detailed elaboration, relatedconcepts, etc.). The name of the selected item will also appear on thecorresponding bookmark 320 (in case more than one item has beenselected). The user can then quickly jump to these pages. This facilityallows the user to bypass the need of having to move through thedocument first to an index (usually at the end of the document) tolocate the various references to the item of interest and then jump tothose corresponding pages. Many returns to the index would also have tobe carried out if there is more than one reference to the item involved.

FIG. 7 depicts an embodiment of a complete browsing system 700. In thissystem 700, a conversion software 710 (a computer program coded in a“C++ programming language”) is provided to pre-convert the document 701to be viewed that is stored in the computer in whatever existing form(e.g., such as in the form of a text file, stored on the hard disk inthe WINDOWS 95 operating environment) to a form 711 that allows one ofthe five methods (500, 510, 520, 530 and 540) of moving through thedocument as described above or other methods to be implemented and to beused in conjunction with the browsing device 740 (in one of theconfigurations 200, 210, 220, 230, 240, and 250 described above or otherconfigurations). The document 701 in its existing form on the computercan also be converted on the fly during the browsing process. Duringoperation, a browsing/viewing software 720 is also needed to convert thesignals from the browsing device to effect all the operations on thedocument as described above. The browsing/viewing software 720 (acomputer program preferably coded in a “C++ programming language”) takesas its data input either the pre-converted data file 711 or the documentin its existing form 701 (to be converted on the fly during the browsingprocess). The browsing device 740 sends the necessary signals through abus 741 (such as a 25 pin parallel port ribbon cable, although a serialbus, mouse line, Universal Serial Bus, USB, and IEEE 1394 FireWire, areexample alternatives) and to a computer input port 730 (preferably a 25pin parallel port, or alternatively a mouse port, a RS-232 port, USBport, or FireWire port) to the browsing/viewing software 720 to effectthe necessary operations on the screen 721 of the computer.

FIG. 8 depicts one embodiment of the browsing device's 100 electricalblock diagram 800. The sensor area 121 on the browsing device 100 (e.g.,FIG. 1B) is made up of a force and position sensor that is used to sensethe force and position of the thumb 122 (or one of the other fingers) onthat area, and signals representing these two parameters are madeavailable through a Force and Position Signals Generator Circuit 801(preferably the separated Force and Position Analog LP Interface circuitdescribed in the Interlink Electronics, Inc. document “FSR® IntegrationGuide and Evaluation Part Catalog with Suggested ElectricalInterfaces”). Respective Force and Position signals are presented to thecomputer through one of the input ports 730 (FIG. 7), to the software720 responsible to effect the necessary operations on the screen of thecomputer. The signals from the buttons 111-114, 131-134 (of which arepreferably on/off push-button toggle switches) on the top surface 110and bottom surface 130 respectively of the browsing device 100 (FIG. 1B)are also transmitted to the computer via the bus 741. A common voltageline is available to send a corresponding common voltage throughindividual ones of the buttons 111-114 and 131-134 when the respectivebuttons are closed.

FIG. 9A depicts one embodiment of the browsing device's 200 or browsingdevice's 260 electrical schematic. A 87C752 micro-controller 900, havingmemory contained therein, although accessible external memory is analternative, incorporated with a 5 channel analog-to-digital converter(ADC), accepts various inputs, e.g. from the sensors, and producesoutput signals to be sent to the computer. The force and position sensorarea 121 or 171 on the browsing device 200 or area 261 or 262 on thebrowsing device 260 is made up of a position sensor (available fromKanto Bussan Co. Ltd of Japan part designation KBH) stacked on top of aforce sensor (available from Interlink Electronics of U.S.A. forcesensor part number 406). The force signals FL and FR from the forcesensors are amplified and buffered by the LM324 operational amplifiers910 and 920 respectively, appropriately biased with resistors 560 and470, for the purpose of isolation and voltage level adjustment, to pinsADC0 and ADC2 respectively on the micro-controller 900. The positionsignals ADC1 and ADC3 from the position sensors are sent directly topins ADC1 and ADC3 respectively on the micro-controller 900. ADC0—3 arethe input of analog-to-digital converters which convert the analogsignals into digital signals for further processing by themicro-controller 900. The signals from the 10 buttons, BT0-BT9 are sentto the data input pins BT0-BT9 on the micro-controller 900. The signalson pins RXD and TXD on the micro-controller 900 receive and transmitsignals respectively through the MAX202 RS232 Interface chip 930, whichin turn interfaces with the computer through an RS232 connector 940. Themicrocontroller 900 receives a clock input from a crystal oscillatorXT1, as shown.

FIG. 9B illustrates a communication format between the browsing device200 or 260 and the computer sent through the RS232 interface, where eachmessage packet, having 4 bytes, is formed in the micro-controller 900,later saved in a memory register in the interface chip 930, andeventually saved in RAM in the computer to which the browsing devicecommunicates. The first two bytes are the Header Bytes, holding ahexadecimal value FF00 in hexadecimal number, specifying to the computerthat it is a message from the browsing device 200 or 260. The last twobytes, the Parameter Bytes, contain the body of the message. Byte 3holds a Parameter 1, specifying the type of information contained inByte 4. Byte 4 holds a Parameter 2 that specifies a particularuser-actuated browsing device setting. RS-232 (or EIA-232) specificinformation is found in Stallings, W., Data and Computer Communications,Fifth Edition, Prentice Hall, Chapter 5, pages, 140-156, the contents ofwhich is incorporated herein by reference.

Parameter 1 specifies whether any one of the first set of buttons(BT0-BT7 in FIG. 9A) or second set of buttons (BT8 and BT9 in FIG. 9A)is pressed, or whether there is a change in the position of a finger orforce on the left and right sensors. The first set of buttons are the 8buttons on the left and right of the browsing device 200 or 260 and thesecond set of buttons are the buttons that can function as mouse buttonson browsing device 260. Depending on Parameter 1, Parameter 2 specifieswhich particular button is pressed or the position of a finger on aparticular sensor or the magnitude of the force on a particular sensor.

Particular codes used to represent the Parameter 1 settings are shownbelow:

Byte Value Parameter 1 (Byte 3) Setting (hex) BrowserButtonDownSet1 01BrowserButtonDownSet2 02 BrowserFingerPositionChangeLeft 82BrowserFingerPositionChangeRight 84 BrowserFingerForceChangeLeft 81BrowserFingerForceChangeRight 83

Particular codes used to represent the Parameter 2 settings are shownbelow:

Information in Parameter 2 (Byte 4) Byte Value (hex) If Byte 3 is 01,then closed/open 00-FF state of buttons BT7-BT0 are respectivelyrepresented by value of Byte 4 If Byte 3 is 02, then closed/open 0x, 1x,2x or 3x. state of buttons BT9 and BT8 are respectively represented bythird and fourth most significant bits of value of Byte 4 If Byte 3 is82, then change in 00-FF position is represented by value of Byte 4 IfByte 3 is 84, then change in 00-FF position is represented by value ofByte 4 If Byte 3 is 81, then force is 00-FF represented by value of Byte4 If Byte 3 is 82, then force is 00-FF represented by value of Byte 4

FIG. 9C is the flowchart of the assembly language program—the BrowsingDevice Monitor Program—resident in the micro-controller 900 memory (orresident in memory accessible by the microcontroller 900) for thepurpose of processing the input signals from the various sensors andbuttons of the browsing device 200 or 260 and sending them to thecomputer through the RS232 interface using the format described in FIG.9B. In step 950, initialization of interrupt vectors, variables, portsand counter/channel timings are carried out. The process then flows tostep 951, where a check is made to see if any data is sent from thecomputer to the RXD line (through the RS232 connector, as shown in FIG.9A). If not, the process flows to step 953. If so, the same data isechoed through the TXD line in step 952. The process then flows to step953, where a check is made to see if the data on the ADC channel 0 hasbeen changed. If not, the process flows to step 955. If so, the processflows to step 954 where the data on ADC channel 0 is sent to the TXDline (with the appropriate preceding bytes as described in FIG. 9B),after which the process flows to step 955. The operations that takeplace in steps 955 and 956 are similar to the operations in steps 953and 954 except that the data on ADC channel 1 is checked and sent to theTXD line if necessary, after which the process flows to step 957. Thesteps from 957 to 960 are for checking and sending data on ADC channels2 and 3, after which the process flows to step 961.

In step 961 a check is made to see if one of the buttons BT0-BT7 hasbeen pressed. If not, the process flows to step 963. If so, the bytepattern (Parameter 2 as discussed above) indicating which button hasbeen pressed is sent, together with the appropriate bytes 1-3, to theTXD line, after which the process flows to step 963. In step 963 a checkis made to see if one of buttons BT8 and BT9 has been pressed. If notthe process flows to step 951. If so, the byte pattern indicating whichbutton has been pressed is sent, after which the process returns to step951.

FIG. 9D is a block diagram of an information flow from the browsingdevice electronic circuit of FIG. 9A, by way of the monitor program 970(shown in FIG. 9C) and device driver 971 to the browsing/viewingsoftware 720 (as will be discussed with respect to FIG. 12). The signalfrom the browsing device 970 is sent through the RS232 port and isreceived by the device driver software 971 resident on the personalcomputer, such as IBM Aptiva 2176X71 running the MICROSOFT WINDOWS 95®operating system. The signals through the RS232 port are encodedpreferably using the format shown in FIG. 9B. The device driversoftware, written in the C++ programming language, sends the signals itreceives from the RS232 port to the browsing/viewing software 720 usingthe message mechanisms available under MICROSOFT WINDOWS 95. TheMICROSOFT WINDOWS 95 message WM_USER+5 is preferably used to achievethis purpose.

FIG. 10A illustrates a flippable book 1000 embodiment that is displayedon the computer screen 1001. The pages in this book are displayed muchlike the pages in a physical, paper book. Note that on the left andright sides of the book are displayed the thicknesses 310, thusindicating a relative position of the opened pages of the book withrespect to the preceding pages and following pages.

FIG. 10B illustrates an exemplary series of display screens of theflipping page display. More particularly, FIG. 10B shows four of theintervening positions of a page 1005, 1006, 1007 and 1008 as it flipsfrom the right side of the book to the left side (in the sequence1005→1006→1007→1008). The arrow 1009 indicates the direction of movementof the edge of the said page. To input the contents of a documentresident on the computer into the browsing/viewing software 720 togenerate the required display, the method of converting the documentdata file on the fly is used. To achieve real-time responses, thecontents of the document are read from the hard disk and displayed in aflipping fashion within a short time, say, less than 0.5 second, of thecomputer receiving a command from the browsing device 200 or 260 orother input device such as the keyboard. To satisfy this real-timerequirement on a typical personal computer the flipping mechanisms areimplemented using the Direct X API (Application Programming Interface)from MICROSOFT that allows very low level functions on the computer tobe accessed so as to achieve the speed required. In particular, a DirectX function BLT (block transfer) is used to generate the flipping actionfast enough for real-time purposes. As such, the 3D effect of theflipping action is achieved through changing the width of the pageinvolved in the direction of flipping. When a sequence of images is seenby the human eye including the page involved with gradually decreasingand then increasing widths, a perception of a flipping page is obtained.

In the current embodiment, the speed of movement through the documentcan be changed on a command from the browsing device 200 or 260—namelythe force applied on one of the force sensors. In the lower speed range,only one page is shown to flip across the book at any given time. Thetime it takes to flip from one side to the other side of the bookreduces as the speed of flipping or movement through the documentincreases. Up to a certain point, further increase in speed of movementthrough the document is achieved by more than one page being flippedacross at any given time.

FIG. 10C shows two pages 1010 and 1011 being flipped across at the sametime. As the speed increases, more and more pages would be flippedacross at the same time. This feature of multi-page flipping providesconsistency for the flipping paradigm. If only one page is allowed toflip across at any given time, then at a very high speed of flipping,the movement through the document would degenerate into the flashingmode with all its attendant deficiencies.

When one or more pages are in the process of being flipped across thefield of view in one direction, say, from right to left, the user canreverse the direction of flipping with immediate effect by activatingthe browsing device 200 accordingly.

FIG. 10D illustrates the operations of the jump cursor 380. On thethickness on the side of the book is displayed a highlighted lineparallel to the length of the thickness that indicates the currentposition of the jump cursor. The user can move this cursor across thethickness by moving his finger on the position sensor 121 or 171 on thebrowsing device 200 (or 261 or 262 on the browsing device 260) to selectthe position in the document to jump to before effecting the jump.

FIG. 10E shows a jump being effected to a different portion of thedocument—a thickened page 1015 with a thickness proportional to theamount of material skipped over is shown to flip across the book.

FIG. 10F illustrates the creation of a finger-bookmark 320. When one ofthe finger-bookmarking buttons 131-134 and 181-184 on the browsingdevice 200 is pressed, one of the currently viewed pages would bebookmarked and a finger-bookmark is displayed sticking out from the edgeof the page involved as shown in FIG. 10F. Using the browsing device 200or 260, up to four finger-bookmarks can be created on each side of thebook and they are displayed at locations in the thicknesses 310 thatcorrespond to the locations of the bookmarking buttons on the browsingdevice 200 or 260. A property of a finger-bookmark is that if the pagethat it bookmarks flips, it would be removed, freeing the correspondingfinger-bookmarking button for future finger-bookmarking.

FIG. 10G shows the retention of the finger-bookmark 320 created in FIG.10F after the user has flipped to other pages.

FIG. 10H shows a jump being effected to the page bookmarked in FIG. 10Fthrough the use of the finger-bookmarking button (that is, one of131-134 and 181-184) on the browsing device 200 that was earlier used tobookmark that page. The display of the jumping action is similar to thateffected through the use of the position sensor and jump cursor asdescribed above and illustrated in FIGS. 10E—a thickened page 1020proportional to the amount of material skipped over is shown to flipacross the book.

FIG. 10I shows an example in which the maximum number (in the presentembodiment, although a greater number of bookmarks is possible in a lessrestrictive embodiment) of eight finger-bookmarks 320 is created.

FIG. 11 illustrates an embodiment of a window-oriented interface 1100displayed on the computer screen that allows the user to set thesensitivities of the force and position sensors 121 and 171 on thebrowsing device 200.

One embodiment of the above browsing operations illustrated in FIGS.10A-FIG. 10H controlled from a browsing device 200 is as follows. Thereare two force thresholds, F1 (typically about 50% of the maximum forcesignal generated by the sensor 121 or 171) and F2 (typically about 80%of the maximum force signal generated by the sensor 121 or 171), definedfor the force sensing aspect of the sensors 121 and 171 on the browsingdevice 200. When the user's finger applies a force less than F1, noaction is taken. If a force greater than F1 is applied and then removedin a short time, say in less than T1 (typically about 1 second or less),a single page is shown to flip across and then no further change in thebook display 1000 is made until other operations are performed. Startingfrom a force less than F1, if a force greater than F1 but less then F2is applied and held for longer than T1, the browsing process enters acontinuous flipping mode. Pages continue to flip for as long as theforce is greater than F1, and the speed of movement through the document(as reflected in the speed of flipping of one page or the number ofpages flipped across at any given time) increases as the force on thesensor 121 or 171 of the browsing device 200 increases. In thecontinuous flipping mode, as soon as the force falls below F1, theflipping actions stop.

Starting from a force less then F1, if a force greater than F2 isapplied and held for longer than T1, the browsing process enters thejump exploration mode. In this mode, the user can move the jump cursorusing the position sensing capabilities of the sensor 121 or 171 on thebrowsing device 200 to select the page to which to jump. The user'sfinger movement in the x-direction (as defined in FIG. 2A) on the forceand position sensor 121 or 171 is translated into the movement of thejump cursor in the direction of the thickness of the book. When adesired location to jump to is selected, the user lets the force fallbelow F1, and the jump to the selected location is effected. If in thejump exploration mode the user decides to terminate the mode and notexecute any jump, he can press one of the unused finger-bookmarkingbuttons 131-134 and 181-184 (i.e., the button has not been used tobookmark any of the pages in the document) on the browsing device 200 tocancel the mode.

For finger-bookmarking, when the user desires to finger-bookmark one ofthe pages currently in view, he would use one of the finger-bookmarkingbuttons 131-134 and 181-184 on the browsing device 200. The buttons131-134 on the right side of the browsing device 200 are for bookmarkingthe right-hand page and vice versa for the left side. One click of thebutton involved creates a finger-bookmark 320. The button is nowassociated with the bookmark 320 thus created. The bookmark isremoved—i.e., the bookmark disappears and the button becomes unused—assoon as the bookmarked page is flipped. Another way a finger-bookmarkcan be removed is when the button associated with it is clicked onetime. To return to a finger-bookmarked page, the user has to first enterthe jump exploration mode using the method described above and thenpress the button associated with the finger-bookmarked page.

The present embodiment of the browsing operations, as controlled fromthe browsing device 200, are preferably implemented in software, say,the C++ computer language, held in a computer readable medium andexecutable on a personal computer such as an IBM Aptiva 2176X71. FIGS.12A-12I show the respective flowcharts of this software. Because theflipping processes for forward flipping and backward flipping to movethrough the document in both directions are symmetrical, only themechanism for one of the directions—the forward direction—is described.

FIG. 12A is the Main software loop that begins in step 1201, wherevarious flags are initialized. The process then flows to step 1202,where 8 sub-routines that will be separately described are executed. Theprocess then flows to step 1203 where a check is made to see if the userdesires to terminate the entire program. If so, the program terminates.If not, the process flows back to step 1202 where all the 8 sub-routinesare executed again.

FIG. 12B is the flowchart for the DoRActivate (activation of right-sideprocesses) sub-routine, which is a first of the eight subroutinesdiscussed above. In step 1205, the RActivate flag is checked to see ifit is 0. If not, the process ends; if so, the process flows to step 1206where the RJECancelled flag is checked to see if it is 0. If not, theprocess ends; if so, the process flows to step 1207 where a check ismade to see if FR (the force on the right sensor on the browsing device200) is greater than a preset threshold F1 (typically about 50% of themaximum force signal generated by the sensor 121 or 171). If not, theprocess ends; if so, the process flows to step 1208 where RActivate isset to 1. The process then flows to step 1209 where RModeCounter, acounter for deciding which mode of the browsing process the user intendsto enter, is started.

FIG. 12C is the flowchart for the DoRModeEnter (decide which mode toenter based on signals from the right sensor) sub-routine. In step 1211,a check is made to see if RActivate is equal to 1. If not the processends; if so the process flows to step 1212 where a check is made to seeif RModeCounter is greater than a preset, short, time T1. If not theprocess flows to step 1218. If so, the process flows to step 1213 whereRmodeCounter is set to 0. After that the process flows to step 1214where a check is made to see if FR is greater than a preset threshold F2(F2>F1). (F2 is typically about 80% of the maximum force signalgenerated by the sensor 121 or 171.) If so, the flag RJEStart is set to1 in step 1217 and after that the process ends. If not, the processflows to step 1215 where a check is made to see if FR is greater thanF1. If so the process flows to step 1216 where the flag ContFFlip is setto 1, after which the process ends. If not, the process flows to step1219 where if one or more than one page is in the process of flippingfrom the left side to the right side of the book, the direction offlipping of the left-most page moving in that direction is reversed, orelse a page is launched from the right side to the left side of thebook. (After a page is launched or made to change its direction offlipping, the page continues its flipping action in an independentprocess while the current process continues.) After that the processflows to step 1220 where RActivate is set to 0, after which the processends. In step 1218, a check is made to see if FR is less than F1. If notthe process ends; if so the process flows to step 1219.

FIG. 12D is a flowchart for the subroutine DoContFFlip (continuousforward flipping mode). In step 1221, a check is made to see if the flagContFFlip is equal to 1. If not the process ends. If so, the processflows to step 1222 where, based on the current speed setting determinedby the force signals from the sensor 121 or 171, if one or more than onepage is in the process of flipping from the left side to the right sideof the book, the direction of flipping of the left-most page moving inthat direction is reversed if it is time to do so, or else a new page islaunched if it is time to launch the new page. This is because thehigher the flipping speed setting, the sooner a page would be launchedafter the launch of the previous page, or the sooner a page would haveits direction reversed after the previous direction reversal of a page.After step 1222, the process flows to step 1223 where a check is made tosee if FR is less than F1. If not, the process ends; if so, the processflows to step 1224 where ContFFlip is set to 0. Subsequently, theprocess flows to step 1225 where RActivate is set to 0, and then, theprocess ends.

FIG. 12E shows the flowchart of the subroutine DoRJEStart. In step 1231,a check is made to see if RJEStart is equal to 1. If not, the processends. If so, the process flows to step 1232 where XR, the finger'sposition on the right sensor, is read. The process then flows to step1233 where a variable XRStart is given the value of XR. The process thenflows to step 1234 where RJEStart is set to 0. Subsequently, the processflows to step 1235 where RJExplore is set to 1, and then the processends.

FIG. 12F illustrates the flowchart of the subroutine DoRJExplore. Instep 1241, a check is made to see if the flag RJExplore is equal to 1.If not, the process ends. If so, the process flows to step 1242 where XRis set to be the current position value of the finger on the rightsensor. The process then flows to step 1243 where a check is made to seeif XR is not the same as XRStart. If that condition is not met, theprocess flows to step 1245. If that is true, the process flows to step1244 where the jump cursor's position on the thickness on the right sideof the book displayed on the computer screen is updated. The processthen flows to step 1245. In step 1245, a check is made to see if anyfinger-bookmarking button has been pressed. If so, the process flows tostep 1250. If not the process flows to step 1246 where a check is madeto see if FR is less than F1. If not the process ends. If so the processflows to step 1247 where a jump is made to the page indicated by thejump cursor. After that, the process flows to step 1248 where the flagRJExplore is set to 0. Subsequently, the process flows to step 1249where the value of RActivate is set to 0, and then the process ends.

In step 1250, a check is made to see if the button just pressed has beenassigned to bookmark a page. If so, the process flows to step 1252 wherea jump is effected to the page bookmarked by Button X and after that,the process flows to step 1248. If not, the process flows to step 1251where the value of RJECancelled is set to 1, and then to steps 1248 and1249 before ending.

FIG. 12G shows the flowchart of the subroutine DoRJECancelled. In step1261 a check is made to see if the value of RJECancelled is equal to 1.If not, the process ends; but, if so, the process flows to step 1262where a check is made to see if FR is less than F1. If not, the processends; but, if so, the process flows to step 1263 where the value ofRJECancelled is set to 0, and then the process ends.

FIG. 12H illustrates the flowchart of the subroutine DoFingerBookmark.In step 1271, a check is made to see if any finger-bookmarking buttonhas been pressed once. If not, the process ends; but, if so, the processflows to step 1272 where a check is made to see if the button pressedhas already been assigned to bookmark a page. If so, the process flowsto step 1275 where the associated bookmark is removed and then theprocess ends. If not, the process flows to step 1273 where a check ismade to see if the page on the same side as the pressed button has beenbookmarked. If so, the process ends; but, if not, the process flows tostep 1274 where the page is finger-bookmarked and the just pressedbutton is associated with this bookmark, and then the process ends.

FIG. 12I shows the flowchart of the subroutine DoFBRemove. In step 1281,a check is made to see if any finger-bookmarked page is being flipped.If not, the process ends; if so, the process flows to step 1282 wherethe bookmark is removed. After that, the process ends.

FIGS. 13A and 13B illustrate a different, alternative method ofdisplaying flipping pages on a computer screen. The pages are shown tobend as they flip, enhancing the 3D effect and ease of use for a reader.FIG. 13A shows a page 1301 bending as it is being flipped from right toleft. FIG. 13B shows the bending of a group of pages 1302 that areskipped over when a jump is made to a different portion of the book.Even though the 3D effect is better, this method can provide real-timeflipping—i.e., the generation of the flipping pages and browsingoperations in a short time in response to commands from, say, thebrowsing device 200—the method places a greater processing load on aprocessor than the other methods. For example, in 1997 a higher speedcomputer such as the Silicon Graphics O2 workstation would be bettersuited than a typical personal computer to perform the requisite videoprocessing.

FIGS. 14A-14C describe the video processing performed to display thebending pages. When a page flips, the points on its moving edge oppositeits stationary edge (i.e., the edge that is joined to the edges of theother pages) sweep over an arc. Let these points be called the movingpoints and the points on the stationary edge be called the stationarypoints. The arc over which the moving points of a flipping page sweep isobtained from an arc on an ellipse 1401 as shown in FIG. 14A. The arclies in quadrants I and II and between two end points 1402 and 1403, oneof which has a gradient of −1 and the other 1.

The thickness of the book determines how much of this arc is used whenthe book is opened right in the middle as shown in FIG. 14B. Before anyflipping action begins, the moving points 1404 lie along a short segmentof the arc 1404 obtained from FIG. 14A. The stationary points 1405 liealong an appropriately translated version of the short arc. During theflipping action of a page, its stationary points do not move, as shownin FIG. 14C. Its moving points sweep across the arc as their X-axisvalues change, say, linearly. As these points move, arcs have to begenerated to join the moving points to their corresponding stationarypoints so that the page would bend as it flips. These arcs 1406 aregenerated based on the equation x=ky**2 as shown in FIG. 14C.

FIGS. 15A, 15B and 15C depict another embodiment 1500 of the browsingdevice 100 of FIGS. 1B and 1C. This device 1500 includes many thin, hardand flexible pieces of material 1501 bound together in the manner of thebinding of the pages in a book, except that the “flipping” side is madeinto a slanted surface 1520 in much the same way as in the device 100depicted in FIG. 1B. When the thumb 122 applies a force onto the slantedsurface 1520, the “pages” 1501 will bend like the pages in a normal bookand the bending force is sensed to effect the same operations as thoseperformed by the thumb's force on the slanted surface 121 of thebrowsing device 100. To jump to a certain page, the thumb 122 slidesalong the slanted surface 1520 in the x-direction (similar to thatdefined for the browsing device 100) until it reaches the desiredposition, say XT, and then it bends the remaining pages 1501, much likeone would bend the pages of a book in the process of holding onto theleft and right edges of the book to browse through the pages, whichresults in a slight separation 1560 of the pages 1501 for which x>XTfrom those pages for which x<XT and a gap 1560 in the pages 1501 iscreated where the thumb 122 is placed. Thin film sensors 1570 are placedon the surfaces of these mini-pages 1501 to sense the separation 1560and hence the location to jump to in the document involved. The mappingof the position of the thumb 122 to the page jumped to in the documentis identical to that used in the device 100 depicted in FIGS. 1B and 1Cas described above in the flowchart in FIG. 4 (shown as FIGS. 4A and4B). Four buttons 1511-1514 are provided on the top surface 1510 andfour buttons 1531-1534 are provided on the bottom surface 1530 of thedevice 1500 that function like the four buttons 111-114 on the topsurface 110 and the four buttons 131-134 on the bottom surface 130respectively of the browsing device 100. Mechanisms 1551 and 1552 arealso provided to join two devices 1500 (a left-hand and a right-handversion) together. All other operations are identical to those describedfor the device 100 depicted in FIGS. 1B and 1C.

FIGS. 16A and 16B depict yet another embodiment 1600 of the browsingdevice 100 of FIG. 1B. In this embodiment 1600, a liquid crystal display(LCD), plasma or other type of display screen 1605, much like what isnormally used as a laptop computer monitor or calculator, is fitted ontothe slanted surface 1602 of the browsing device 1600 as shown in theFIG. 16. It is used to display the amount of material present before andafter the currently viewed material. To do this, a thickness 1607 isdisplayed on the screen 1605 that is proportional to the amountinvolved, that changes with the changes of the amount involved. On thisthickness 1607, bookmarks 1620 can be displayed that indicate thelocations of the pages/parts of the document involved. The same methodsas described before for the computer book 300 depicted in FIG. 3 areused here on the screen 1605 for the following: (a) display the changeof thickness; (b) display the bookmarks, and (c) display, the thickness1607, of the location of the page/point in the document that would bejumped to were jumping to be effected at any given moment based on thethumb's x-position on the sensor area 1606 at that moment. Transparentforce and position sensors 1606 overlay the screen 1605 and functionmuch like what has been described before for the sensor area 121 in thebrowsing device 100 except that now the thumb 122 can move to the“absolute” location of the page to be jumped to effect the jumping. Inthis scheme, even though the thickness 1607 of material as well as thebookmarks 1620 are displayed on the screen 1605 of the browsing device1600, they can also be displayed on the computer monitor screen like inthe case described for the computer book 300 in FIG. 3 at the same time.

The absolute distance method for computing the point/page in thedocument to jump to when jumping is activated will be described. Let x=0be the x-position on the screen 1605 that is nearest the edge adjoiningthe top surface 1610 and the slanted surface 1602. Recall that theintersection of the thumb 122 with the slanted surface 1602 has somespatial extent and the thumb 122 is considered to be at position x1 ifit covers the point x1 and some contiguous points x such that x>x1.Consider now that the thickness of the book displayed on the screen 1605is XS−XH, where XS is the width of the screen 1605. Let PR be the amountof remaining material in the document as defined before. The process ofjumping can only be activated when the thumb 122 is at XT>XH, and whenthat happens, the amount of material skipped, PJ, is equal toPR*(XT−XH)/XS.

In the embodiment of the browsing device 1600, four buttons 1611-1614are provided on the top surface 1610 and four buttons 1631-1634 areprovided on the bottom surface 1630 of the device 1600 that functionlike the fours buttons 111-114 on the top surface 110 and the fourbuttons 131-134 on the bottom surface 130 respectively of the browsingdevice 100. Mechanisms 1651 and 1652 are also provided to join twodevices 1600 (a left-hand and a right-hand version) together. All otheroperations are identical to those described for the device 100 depictedin FIG. 1B.

The above browsing system 700 (FIG. 7) is adapted to be used inconjunction with any software method that allows the reorganization ofthe material in the document involved to facilitate browsing/viewing.For example, under software control, in conjunction with the use of amouse cum cursor method, say, two or more pages in the document to becompared or parts of the document to be compared can all be broughttogether and displayed in the currently viewed page(s). This may beachieved by, say, using the mouse cum cursor to first select parts ofthe current viewed pages by clicking the mouse button and dragging themouse like what is normally done or to select one of the currentlyviewed pages by double clicking on that page where the cursor is nowpositioned. And then, after moving to another part of the document, thecursor can now be positioned over a point on one of the currently viewedpages and the selected material can be brought into view by one click ofthe mouse button. The selected material, if it is one page full, willsimply cover the page on which the cursor was placed before the oneclick of the mouse button to bring it into view. If the selectedmaterial is not one page full, it will be positioned, say, to the rightand bottom of the cursor, and cover part of the page on which the cursorwas placed before the one click of the mouse button to bring it intoview. Another click of the mouse button will remove this temporarilyplaced material to allow one to see what was on the page originally.This temporarily placed material will also automatically disappear fromthe page on which it was placed after that page disappears from viewafter the user activates movement to other parts of the document.

The above browsing system 700 can also be used in conjunction with anysoftware method that allows the highlighting of selected portions of thematerial or annotations of the pages in the document involved tofacilitate browsing/viewing/reading.

The above browsing system 700 is suitable for use not just for browsingthrough or viewing documents that do not require any processing of theircontents while they are being viewed, but also in conjunction with aword-processing system. Instead of creating a document and processing iton a computer screen like what is normally done, and then scroll up anddown to view and browse through it using the usual mouse cum scroll barmethod, the method of viewing and browsing through the document asdescribed in the above browsing system 700 can be used. The process ofentering/deleting material in the document can also be made to beconsonant with the method of movement through the document (i.e., one ofthe methods 500, 510, 520, 530 and 540 described in FIGS. 5A-5E). If theword processing is used in conjunction with, say, the flipping method500 of moving through the document, as one finishes entering materialfor the right-hand page, the page will flip over to reveal a new, emptypage for the entering of material. As one deletes material until nothingis left on the currently viewed pages, continued deletion will effect aflipping back to the previous page. Similar mechanisms can be used inconjunction with the other three non-scrolling methods of moving throughthe document—namely the sliding method 510, the flashing method 520, andthe vertical flipping method 540.

The above browsing system 700 is adapted for use in conjunction with anysoftware in which there is information/icons of control “buttons” to bedisplayed, either for viewing or manipulating, that cannot be fittedwithin one computer screen. In this case, scrolling in conjunction withthe use of a mouse is often done, or sub-menus and sub-operations can beselected by pressing icons of “buttons” on the screen. In the case ofselection of sub-menus and sub-operations, the sub-menus or displayscontaining buttons for sub-operations are flashed on the screen oncethey are selected. When there is a large amount of this kind ofinformation/operations present in the software, it will benefit from theuse of the browsing system—the system can provide a good idea of whatkinds of information/operations are available, where they can be foundand how they are related to each other, as well as fast access to them.To be used in conjunction with the current browsing system 700, thesemenus/sub-menus and buttons for operations/sub-operations can all beorganized into a “book” and access to them can be effected by thebrowsing system 700 described above. In 1997, the most popular andconvenient form of human-computer interface is the “Windows” interfacethat grew out of the “desktop metaphor” in which manipulating items on acomputer screen is likened to manipulating items on a desktop. This kindof interface, though representing a vast improvement over previous kindsof interface and user-friendly, still suffers from one of the problemsof manipulating items on a desktop—a person's desktop tends to get verymessy and things are hard to find when there are too many of thempresent. In the Windows interface, when there are a lot ofsub-directories/files within a directory that cannot be fitted withinone window or one screen, they are to be located by scrolling throughthe use of a mouse, with all the attendant problems as described abovefor the browsing of information using this method. Looking for items(say, a program or data file) whose names or associations withparticular directories/sub-directories are not known in advance by goingup, down, and across many levels of the directory structure is also atedious and confusing process because it suffers from a lack of aholistic view of the entire directory structure. In the Windowsinterface, a typical computer program communicates with the user through“working windows” —the computer program accepts input from and directsits output to a prescribed, often rectangular, area on the computerscreen. In the process of completing a typical task, often many programshave to be activated which gives rise to many windows being opened onthe computer screen. When many windows are opened, they tend to obscureeach other and those that are currently not in view are hard to findbecause their locations (in the “third dimension” —the “directionperpendicular to the screen”) are not fixed, much like a scatteredcollection of papers on a desktop. Users often have to keep closing andopening the same windows repeatedly or moving them aside by directingthe mouse cursor to various locations on the computer screen in theprocess of completing a particular task on the computer.

The present invention improves the human-computer interface byorganizing these directories/sub-directories or temporary workingwindows into “books” to be manipulated by the browsing system 700described above. All information contained in memory on the computer canbe organized into one big book or more than one book at any givenmoment, hence the descriptive phrase “library metaphor”. There are atleast three possible improvements over the conventional “windows”interface. First, sub-directory and file icons that cannot be fittedonto one window/screen can be browsed through and better accessed ifthey are organized/implemented in a form to be used in conjunction withthe browsing device/system 700 described above. FIG. 17A depicts oneembodiment of this in conjunction with the flipping method 500 of movingthrough the document: items 1701—directories/sub-directories or files—ina window 1705 are placed in the pages of the book 1700 which is aninstance of the computer book 500 depicted in FIG. 5A. Second,sub-directories 1715 (FIG. 17B) and files 1716 that are normally foundin windows 1714 in the current window-based systems can be organizedinto chapters, sections, etc. in a computer book 1720 (an instance ofthe computer book 500 depicted in FIG. 5A) instead and used inconjunction with the browsing system 700, an embodiment of which isdepicted in FIG. 17B. Third, items that are being worked on, eithercollections of files and sub-directories or the current working areas ina software (such as a word-processor) which current systems present in“windows”, can be organized into pages in a “scrap book” to be used inconjunction with the browsing system 700 with its attendant advantages.FIG. 17C depicts one embodiment of this in conjunction with the flippingmethod 500 of moving through the document. Either each window 1725 mapsonto one page or many windows 1725 can map onto one page in a computerbook 1730 (an instance of the computer book 500 depicted in FIG. 5A).

In one embodiment, all opened windows, whether they are for the showingof directory contents or working windows of programs, can be joinedtogether into a book as shown in FIGS. 18A-18M. Generally, as one openswindows in the process of operating the computer, these automaticallybecome pages in a book, or more than one book, where the pages are“window-pages” and the books are “working books”. If the preferredflipping method is used to organize the pages in this book, it furtherenhances the ability to search for items (whether it be a file in adirectory or a certain item in a program's working window)—unlike thecase of the current WINDOWS system, because each page now acquires anabsolute location, they are easy to locate. In addition, if the browsingdevice is used in conjunction with this kind of computer interface, itconfers two major advantages. First, the search for and access to itemscan benefit in the same way as in the browsing of a document. Second,one mode of the operation of the flip-browsing controller, in which thecontroller is placed on the table and operated by one hand as describedearlier (for example, in conjunction with FIG. 2H), can be takenadvantage of to lighten the load of the hand that operates the mouse andprovide a complementary function to that of the mouse.

Often, one uses the mouse for all the operations including the openingand closing of windows and the search for icons to locate closed oroccluded windows, etc. that do not involve the keyboard. Now, one canuse one hand to operate the mouse and the other to operate the browsingdevice. The mouse is reserved for the higher precision, analytic kind ofoperations such as the positioning of the cursor over a small item onthe computer screen while the browsing device is used for a lowerprecision, holistic kind of operation such as the flipping of thewindow-pages to access different windows. Together, these increase thebandwidth of the user's interaction with the computer and can alsospread the load of hand/finger operations onto both hands, thus loweringthe possibility of repetitive strain injury.

We now describe one embodiment of this “books” interface in which theseries of windows opened during the process of operating the computerbecome the “window-pages” in a “working book”. FIGS. 18A-18M show anexample of the sequence of operations as one opens windows on thecomputer. Initially, suppose the user is at the usual WINDOWS 95®desktop as shown in FIG. 18A, which is now shown on the computer screen1800 as the first page 1802 of a working book 1801 yet to be made fromsubsequent window-pages. This first page 1802 could be thought of asresiding on a sheet of “paper” that has two sides and currently theother side of this first page 1802 is empty. Now, suppose the user,uses, say, a typical computer mouse and, pointing the mouse cursor atthe appropriate position, “double-clicks” on the “My Computer” directoryicon 1803 to open it. The contents of “My Computer” 1803 are now addedto the working book 1801 in one or more subsequent pages. Right afterthat the desktop window-page 1802 will be shown to flip to, say, theleft side to reveal the contents of “My Computer” 1805 at the back ofthis window-page 1802, as shown in the sequence of images 1806, 1807,1808, 1809 in FIG. 18B. The entire contents of the directory “MyComputer” 1803 can be fitted into one page 1805. The arrow 1804indicates the direction of movement of the flipping page 1802. Duringthis flipping action, a blank page 1810 is also created on the rightside of the working book 1801. Next, suppose the user now opens thedirectory “System C” 1815 whose icon resides on the current left page1805 and whose contents cannot be fitted into one page. The contents of“System C” 1815 would fill a number of pages, starting from theinitially empty right page 1810 currently on the display as shown inFIG. 18C. In particular, in addition to the first page of contents 1816,two more pages, now manifested as a thickness 1817 on the right side ofthe working book 1801, are created to contain the entire contents ofSystem C and they are all “joined” to the back of the page currently onthe right 1810. The user can reveal the contents of “System C” byactivating a flipping process as shown in FIG. 18D. The sequence ofimages 1821, 1822, 1823, 1824 shows the flipping process. The arrow 1820indicates the direction of movement of the flipping page 1816. Two morepages of contents 1818 and 1819 of the directory “System C” 1815 arerevealed. The last page 1819 of the directory “System C” 1815 iscurrently the last page of the working book 1801.

Suppose now the user chooses to open a directory named “Windows” 1830under the directory “System C” 1815 whose icon 1830 resides on thesecond page 1818 of the directory “System C” 1815 as shown in FIGS. 18Dand 18E. The pages containing the contents of the directory “Windows”1830 are now added to the back of the right page 1819 currently on thedisplay. These pages are manifested as a thickness 1831 on the rightside of the working book 1801. Even though the pages containing thedirectory just opened—“Windows” 1830 —have been added to the workingbook 1801, the first page of this directory 1830 is not visible rightaway because it is “hidden behind” the current page 1819 on the right.Hence, right after the pages of the directory “Windows” 1830 are addedand the thickness 1831 associated with them is displayed, the currentright page 1819 begins to flip to the left to reveal the first page 1840and the second page 1841 of the directory “Windows” 1830 as shown in thesequence of images 1835, 1836, 1837, 1838 in FIG. 18F. “Windows” 1830 isa larger directory than “System C” 1815 and its contents are containedin 13 pages of the current working book 1801.

FIG. 18G illustrates the effect of browsing about the pages 1840, 1842,1844, 1845, 1847, and 1849 containing the contents of the directory“Windows” 1830 by flipping through them with, say, the aid of thebrowsing device 200. These pages can be flipped forward or backwardindividually or together or in various forward and backward flippingcombinations according to the user's wish using the system withmechanisms described in FIGS. 9A-9D, 10A-10I, and 12A-12H. In FIG. 18G,four pages 1842, 1844, 1845 and 1847 are being flipped at the same time,and the arrows 1855 show that three of the pages 1842, 1844 and 1845 arebeing flipped to the left while one of the pages 1847 is being flippedto the right. (Earlier all four pages 1842, 1844, 1845 and 1847 couldhave been launched from right to left, and then the user decides, whilethey were still moving from right to left, to reverse the direction ofthe right-most moving page 1847, perhaps because he suspects that thereare things on Page 12 (the back of Page 11—1845) or Page 13—1847—thatcould be of interest. This results in this snap-shot of flipping actionin FIG. 18G.) FIG. 18H shows the last few pages 1848, 1850 and 1852 ofthe directory “Windows” 1830. The page 1853 after the last page 1852 ofthe directory “Windows” 1830 is currently empty.

Suppose now the user chooses to go to one of the pages 1847 of thedirectory “Windows” 1830 that contains a file named “fcc962088G” 1865which is a data file for a document as shown in the top left picture1871 of FIG. 18I. Suppose the user now chooses to open “fcc962088G”1865. On the activation of that operation, the system adds the pages of“fcc962088G” 1865 to the end of the working book 1801 and jumps to thefirst page 1853 that contains the contents of the file “fcc962088G”1865, as shown in the sequence of images 1871, 1872, 1873, 1874. Thereis an increase in the thickness 1866 on the right side of the workingbook 1801 as soon as the contents of the file “fcc962088G” 1865 areadded to the end of the working book 1801. Many intervening pagesbetween the page on the right side 1847 just before the jump and thelast page 1852 of the directory “Windows” 1830 are skipped over in thisjumping process and the display shows a thickened page 1847 flippingfrom right to left of the working book 1801. The arrow 1867 shows thedirection of movement of the thickened page 1847. Because the last page1852 of the directory “Windows” 1830 resides on the left side of theworking book 1801, the first page 1853 of the just opened file“fcc962088G” 1865 is added to the initially empty page 1853 on the rightside. This example of the opening of a document file is an example ofthe activation of a program as opposed to earlier examples that wereexamples of the opening of directories.

The user can now flip to the other pages of the document “fcc962088G”1865 to read or carry out other operations as shown in the sequence ofimages 1877, 1878, and 1879 in FIG. 18J. The forward flipping (fromright to left, as indicated by the arrow 1876) of the page 1853 revealstwo other pages 1854 and 1855 of the document “fcc962088G” 1865.

In FIG. 18K, the user carries out a typical operation performed on anelectronic document—the change of the font of some of the words 1880 onone of the pages 1855 of the document “fcc962088G” 1865. A typicalpulled down menu 1881 is used to carry out this operation.

Suppose now the user decides to return to one of the pages 1842 of thedirectory “Windows” 1830 to activate another program. FIG. 18L showsthat the activates the jump cursor 1882 (in the top left picture 1884)and activates a backward (from left to right) jumping process to returnto one of the pages 1842 of the directory “Windows” 1830 to locate theicon of a program “Calc.exe” 1888. The sequence of images 1884, 1885,1886 and 1887 shows the jumping process. The arrow 1883 indicates thedirection of movement of the skipped over pages 1844-1853 (hidden). (Ifthe desired icon cannot be located at the end of this jumping process,the user might then flip the pages back and forth to locate it.)

FIG. 18M shows the actions that result when the user activates theprogram “Calc.exe” 1888. The window-page for this program 1888 is addedafter the current last page 1856 of the working book and a jump isautomatically made to reveal the window-page 1857, as shown in thesequence of images 1891, 1892, 1893 and 1894. The arrow 1890 indicatesthe direction of movement of the skipped over pages 1844-1855 (hidden).

At this point, a sizeable working book 1801 (FIG. 18M) has been created.At any moment, when the user needs to search for some items, whether itbe a file or a control button on a program's window, the user canbenefit from the organization of these items in the working book thuscreated and the method of locating them through flipping and the use ofthe browsing device 200. What is effectively created is a kind of“simultaneous multiple-screen” display: because of the book-likeorganization including the flipping method of moving through the book,the user knows roughly where these “screens” of information are locatedand, in conjunction with the browsing device, has rapid access to them.It is like having a much larger computer display screen to displayvarious information simultaneously because these “screens” areaccessible almost simultaneously. This effectively increases by a largeamount the size of the computer screen whose limited size is a vexingproblem for many computer users. The conventional window-orientedsystem, despite the fact that it also allows users to create multiplewindows of information, does not provide the structure, organization anduser-input method required to achieve this “simultaneous multiple-screeneffect.”

The method described using the example of FIG. 18 is only one mode ofoperation of the Books interface. In another mode, instead of displayingtwo pages side-by-side on the screen and using both sides of each “sheetof paper” to display information like in the case of a typical book, analternative is to display information on only one side of each “sheet ofpaper” and have the entire flippable page occupy the computer screen, asshown in FIGS. 19A-C.

In FIGS. 19A-C, a page 1901 is shown to flip to the left (direction ofmovement indicated by the arrow 1905) to reveal another page 1902. Allthe flipped pages collect in a thickness 1903 on the left side. We termthis a one-sided book. This is a useful method especially for theworking window-pages of a program since it would be advantageous to makefull use of the screen for the purpose of interfacing with a program.

Sometimes, when the user is not interested in having the contents of adirectory, say, spread over many pages, perhaps because the user wantsto have quick access to the pages that come after the directory, theuser can choose to activate a “single-page” mode which will onlygenerate one page to display the contents of the directory involved.Then, the traditional scrolling mechanism is used to access the parts ofthe contents not visible initially on that page.

There are also other modes available for the addition of pages into thecurrent working book. Instead of adding the pages to the end of thecurrent working book, as shown in the example in FIGS. 18A-18M, the usercan choose to have the pages added:

-   -   1. To the beginning of the entire working book;    -   2. Right after or before the pages currently in view;    -   3. Right after or before the pages associated with the pages        currently in view, such as after the last page or before the        first page of the many-page directory to which the pages        currently in view belong;    -   4. To an arbitrary location in the current working book or        another working book displayed elsewhere on the computer screen        indicated by, say, the mouse cursor or the jump cursor 380 of        FIG. 10 on the thickness of the working book involved; or    -   5. As the first page of a new working book (when, say, the mouse        cursor is pointing at a blank part of the computer screen just        before the generation of the new page(s)).

The user may also choose the dimensions—the height and width —of thenewly opened pages. These pages can be set to automatically have thedimensions of the current working book, or they can appear in thedimensions in which they most recently appeared. The dimensions of eachpage are also changeable. Hence the resulting working book wouldresemble more a clipped-together collection of arbitrarily sized paperthan a typical book in which the dimensions of all its pages are thesame. This is to facilitate especially the operations of workingwindow-pages of programs which normally require a wide range ofwindow-page sizes to contain the information required for the programsto interact with the user.

Like in the conventional WINDOWS-based system, each window-page can beresized, maximized, minimized or closed. In addition to theseoperations, a “tear-off” operation is available for the user to, say,tear off a selected page and place it in a selected location in anotherworking book that is also on display at the same time, as shown in FIG.20. In FIG. 20, a page 1853 of a working book 1801 is shown being tornoff to be added between the two opened pages 2002 and 2003 of anotherworking book 2001. The typical computer mouse can be used to carry outthis operation—that is, to “drag” the torn-off page 1853 from the sourceworking book 1801 to the destination working book 2001. Instead oftearing off one page at a time, the user can also choose to tear off aselected number of contiguous or non-contiguous pages from the workingbook, or all the associated pages, say, from the same directory. A“join” operation is available to join selected “torn-off” pages at anyselected location in any selected existing working book or theseselected torn-off pages can be used to form the first pages of a newworking book.

The Books interface can be used in conjunction with the WINDOWSinterface to take advantage of both the library and desktop metaphor asdepicted in FIG. 21. In FIG. 21, a usual Windows-oriented operatingsystem, such as MICROSOFT WINDOWS 95®, is shown displayed in thebackground on the computer screen 2100 with the usual desktop icons2101. One directory window 2102 and two application windows 2103 and2104 are opened. Also created is a working book 2105. Hence only whenthe user so desires, the opened windows would become the window-pages ofa working book, or else they would behave like the windows in a typicalWindows system such as MICROSOFT WINDOWS 95®.

In addition, one can also create a “directory book”, with flippablepages, that contains the entire directory contents on the computer tofacilitate browsing and searching for items whose locations within thedirectory tree structure are unknown. The directory structure of thetypical Windows system remains on the system to allow fast search whenitems' locations in the directory tree structure are known, thuscomplementing the browsing method.

The Books interface described above in FIGS. 18A-18M, 19, 20, and 21 canbe implemented on a personal computer system using the C++ programminglanguage (or other programming language) to implement various browsingand other necessary operations. Preferably, similar mechanisms used inthe implementation of a flipping display as described in FIGS. 10A-10I,such as the use of the Direct X API (Application Programming Interface)and in particular the BLT (Block Transfer) function are used to generateflipping window-pages capable of responding in real-time to variousbrowsing commands.

FIG. 22 shows the flowchart of one embodiment of the Books interfacemechanisms. The process begins when the user elects to generate aworking book and then in step 2201, the first pages of the working bookare generated. These pages are organized into a plurality of flippablewindow-pages joined along one edge. One, or alternatively two, of thesepages is displayed on the computer screen. The process then flows tostep 2202 where a check is made to see whether the user has selected anyoperations. If not, the process returns to step 2202 and checks again.If so, the process flows to step 2203 where a check is made to see ifthe operation the user selected was the opening of a directory or thecreation of a new program-user interface “window”. If not, the processflows to step 2204. If so, the process flows to step 2205 where the newwindow-pages of the directory opened or the program-user interface areadded to the current working book or another existing working book orare used to form a new working book depending on the user'sspecification as to where the new pages are to be added. If it isnecessary, images of flipping intervening window-pages are generated toget to the location at which the new window-pages are to be added. Thesewindow-pages are added as a plurality of flippable pages joined alongone edge and joined to any existing window-pages. The process then flowsto step 2206 where one page or multiple pages are added depending onwhether the user has selected the single-page or multi-page mode. Theprocess then flows to step 2207 in which the dimensions of the page tobe added are generated according to user's selection of whether they bethe same as the current working book or the most recently useddimensions for those pages. The process then flows to step 2208 whereone or two of the newly added window-pages are displayed on the computerscreen in the working book to which they are added. The process thenflows to step 2202. In step 2204, operations other than those related tothe addition of window-pages to a working book are performed accordingto the operations selected by the user.

FIG. 23 describes a method for displaying a computer-based set ofinformation on a display screen controlled by the inventive browsingdevice. Step 2301 displays a thickness image of a set of informationcorresponding to the size of a data file which holds the set ofinformation. The thickness image includes a left side portion and aright side portion which are displayed on the display screen. The leftside portion of the thickness image is displayed on the left side of thescreen and is proportional to an amount of the information that precedesa given point in the set of information that is currently beingdisplayed on the display screen. The right-hand portion of the thicknessimage is displayed on the right-hand side of the display and isproportional to an amount of the information that comes after the pointas currently displayed on the display screen. For example, if thecurrently displayed point is near the end of the document, the left-handside of the display will have a thickness image that appears thickerthan that on the right-hand side.

After step 2301, the process flows to step 2302 where all existingfinger-bookmarks are displayed in a first image format. Then, in step2303, all existing permanent-bookmarks, are displayed in a secondformat. Both the finger-bookmarks and the permanent-bookmarks aredisplayed in the location in the thickness display corresponding to thelocations of the material they bookmark. Then the process flows to step2304 where the user elects to bookmark the currently viewed material anda new bookmark (finger-bookmark or permanent bookmark) is added to thedisplay. After 2304, the process flows to step 2305 where a positionwithin the set of information is jumped to in response to a jumpposition indicated by the instrument (e.g., the user's finger). Once theposition is jumped to, the process ends.

FIG. 24 describes a method for browsing a computer-based set ofinformation. The process starts in step 2401 where a move command isgenerated to move a pointer through a set of information hosted on thecomputer either in a forward direction or a backward direction. Theprocess then flows to step 2402 where the pointer is moved in responseto the command that was generated in step 2401. The process then flowsto step 2403 where the speed of movement of the pointer through theinformation is adjusted. The process then flows to step 2404 where ajump command is received. The process then flows to step 2405 where apointer is moved to a jump position in response to the received jumpcommand. The process then moves to step 2406 where a bookmark command isreceived to mark a desired portion of text or graphics information fromthe set of information. A user enters the bookmark command based on thedesired portion of textual graphics. The process then moves to step 2407where the desired portion is marked in the set of informationcorresponding to the received bookmark command, after which the processends.

FIG. 25 is flowchart for a computer-interface process. The processstarts in step 2501 where a set of information hosted on the computer isarranged in a set of books. Each of the books includes a subset of theinformation from the set of information hosted on the computer. Oncearranged, the process flows to step 2502 where each of the books islabeled with a respective portion of the subset of informationcorresponding with each book. The process then flows to step 2503 where,based on user input, a user can select a selected book by first viewingbooks which are displayed as a single book document image. The bookdocument image is made up of individual pages that correspond to therespective portions of the books. The process then flows to step 2504where a command is generated, as actuated by the user, to move throughthe pages so that a user can view the individual pages and select adesired book. The process then flows to step 2505 where the pages of thebook are displayed in an animated image where the pages of the bookdocument are either flipped (preferable), scrolled, slid or flashed onthe screen. The process then flows to step 2506 where, while viewing theanimated image, the user via user input can select one of the pages. Byselecting one of the pages, the user has selected the desired book. Theprocess then flows to step 2507 where the selected book is displayed asthe image of a book document. However, pages of the selected bookdocument include respective portions of the subset of informationcorresponding to the selected book. The process then flows to step 2508where a move command is generated for moving a pointer through a subsetof the pages of the selected book. The process then flows to step 2509where an animated image is displayed of the pages in the selected bookbeing shown as either flipped (preferable), scrolled, slid or flashed onthe screen. The process then flows to step 2510 where a selected bookpage of the selected book is selected by the user via a user inputindication. Once the user has selected the desired book page, theprocess ends.

FIG. 26 is the flowchart for a book-oriented computer interface process.The process starts in step 2601 where a command is received from theuser to create window-pages to contain the contents of a directory or aprogram-user interface. The process then flows to step 2602 where acommand is received from the user to indicate whether these newwindow-pages are to form the first pages of a new working book or tobecome pages at a selected location within the current working book oranother existing working book. The process then flows to step 2603 wherethe new window-pages are added to the said location or as pages in a newworking book. The process then flows to step 2604 where a command isreceived from the user whether to add one or more window pages. If onlyone page is added to contain the contents of the directory or theprogram-user interface involved, then scrolling may be necessary toreveal portions of the contents that cannot be fitted within the onepage initially. The process then flows to step 2605 where the size ofthe new window-pages to be added is determined based on user selection.The process then flows to step 2606 where the newly added pages areorganized into a plurality of flippable pages joined along one edge andjoined to any existing pages in the said working book. The process thenflows to step 2607 where, if necessary, the flipping of some of thepages of the said working book are generated and displayed on thecomputer screen to get to the said location for the adding of the newlyadded working pages and one or more of the newly added working-pages arethen displayed on the computer screen in the said working book. Theprocess then flows to step 2608 where user commands are received toperform various operations such as browsing operations on a selectedworking book such as flipping, jumping and bookmarking or otheroperations involving a selected working book such as resizing,minimizing, maximizing, closing, or “tearing-off” of selectedwindow-pages or joining of selected “torn-off” window-pages to selectedexisting working books or any operations normally performed on acomputer. After that, the process ends.

The mechanisms, methods and processes set forth in the presentdescription may be implemented using a conventional general purposemicroprocessor programmed according to the teachings in the presentspecification, as will be appreciated to those skilled in the relevantart(s). Appropriate software coding can readily be prepared by skilledprogrammers based on the teachings of the present disclosure, as willalso be apparent to those skilled in the relevant art(s).

The present invention thus also includes a computer-based product whichmay be hosted on a storage medium and include instructions which can beused to program a computer to perform a process in accordance with thepresent invention. This storage medium can include, but is not limitedto, any type of disk including floppy disks, optical disks, CD-ROMs,magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, flash memory,magnetic or optical cards, or any type of media suitable for storingelectronic instructions.

While particular embodiments of the present invention have beenillustrated and described, it will be appreciated that numerous changesand modifications will occur to those skilled in the art, and it isintended that the appended claims cover all those changes andmodifications which fall within the spirit and scope of the presentinvention.

Obviously numerous modifications and variations of the present inventionare possible in light of the above teachings. It is therefore to beunderstood that within the scope of the appended claims, the inventionmay be practiced otherwise than specifically described herein.

1. A method for displaying a computer-based set of information on adisplay screen, comprising the steps of: displaying, on the displayscreen, said set of information as a book image, respective portions ofsaid set of information being displayed as an open page of said bookimage that overlaps another page that was previously moved from a firstside of said book image to a second side of said book image, and openpages of said book image remain at a fixed location with respect to saiddisplay screen as different pages of said book image are displayed; anddisplaying, on the display screen, a thickness image of said book imagecorresponding to an amount of said information on a left side and aright side of said display screen, a left portion of said thicknessimage displayed on said left side of said screen being proportional to afirst amount of the information preceding a point in said set ofinformation currently being displayed and a right portion of saidthickness image displayed on said right side of said display screenbeing proportional to a second amount of information following the pointin said set of information currently being displayed.
 2. The method ofclaim 1, further comprising: displaying a permanent bookmark.
 3. Themethod of claim 2, wherein: said permanent bookmark does not disappearwhen a permanently bookmarked page is revisited.
 4. The method of claim1, further comprising: displaying a finger-bookmark.
 5. The method ofclaim 4, wherein: said finger-bookmark disappears when a bookmarked pageis revisited.
 6. The method of claim 1, further comprising: jumping to apredetermined jump position in said set of information.
 7. The method ofclaim 6, further comprising the step of: displaying a flipping of athickness image of pages skipped over in said jumping step.
 8. Themethod of claim 1, wherein said step of displaying a thickness imagecomprises: displaying a left-side thickness of said book image whilekeeping a right vertical edge thereof remaining stationary with respectto the display screen, displaying a right-side thickness of said bookimage while keeping a left vertical edge thereof remaining stationarywith respect to the display screen; and further comprising steps ofchanging the left-side thickness in response to moving through the setof information and generating a command to cause a left vertical edge ofa displayed page to change position, and changing the right-sidethickness in response to moving through the set of information andgenerating another command to cause a right vertical edge of thedisplayed page to change position.
 9. The method of claim 1, furthercomprising the steps of: displaying a jump cursor on the thicknessimage, said jump cursor being user-activated and identifying a locationin the set of information in which to effect a jump operation, and saidjump cursor showing a location in the set of information to which thejump operation will be made.
 10. The method of claim 1, furthercomprising the step of: displaying more than two flipping pagessimultaneously, said flipping pages showing information fromcorresponding parts of said set of information.
 11. The method of claim1, further comprising the step of: displaying increasingly more flippingpages simultaneously as a document browsing speed is increased.
 12. Themethod of claim 1, further comprising the step of: freezing a number offlipping pages in an act of flipping across the display screen inresponse to receiving a freeze command issued by a user.
 13. The methodof claim 1, further comprising the step of: adjusting a documentbrowsing speed in correspondence to a user command.
 14. The method ofclaim 1, further comprising: receiving commands from an input deviceindicating movement through the electronic book; and displaying, on thedisplay screen, flipping pages of the electronic book based on thecommands.
 15. The method of claim 1, further comprising: processing saidset of information with a processor to format said set of information assaid book image.
 16. A method for displaying a computer-based set ofinformation on a display screen, comprising the steps of: displaying, onthe display screen, said set of information as a book image, respectiveportions of said set of information being displayed as an open page ofsaid book image that overlaps another page that was previously movedfrom a first side of said book image to a second side of said bookimage, and displaying, on the display screen, two or more than twoflipping pages simultaneously.
 17. The method of claim 16, furthercomprising the step of: displaying information from corresponding partsof said set of information on said flipping pages.
 18. The method ofclaim 16, further comprising the step of: displaying increasingly moreflipping pages simultaneously as a document browsing speed is increased.19. The method of claim 16, further comprising the step of: freezing anumber of flipping pages in an act off flipping across the displayscreen in response to a freeze command.
 20. The method of claim 16,further comprising the step of: collapsing a number of flipping pagesinto a collection of pages.
 21. The method of claim 16, furthercomprising the step of: adjusting a document browsing speed in responseto a command.
 22. The method of claim 16, further comprising: displayinga bookmark.
 23. The method of claim 16, further comprising: displaying apermanent bookmark.
 24. The method of claim 23, wherein: said permanentbookmark does not disappear when a permanently bookmarked page isrevisited.
 25. The method of claim 16, further comprising: displaying afinger bookmark.
 26. The method of claim 25, wherein: saidfinger-bookmarked disappears when a bookmarked page is revisited. 27.The method of claim 16, further comprising: jumping to a predeterminedjump position in said set of information.
 28. The method of claim 27,further comprising the step of: displaying a flipping of a thicknessimage of pages skipped over in said jumping step.
 29. Acomputer-readable program product whose contents cause a computer toperform the method recited in any one of claims 1-28.
 30. The method ofclaim 16, further comprising: receiving commands from an input deviceindicating movement through the electronic book; and displaying, on thedisplay screen, flipping pages of the electronic book based on thecommands.
 31. The method of claim 16, further comprising: processingsaid set of information with a processor to format said set ofinformation as said book image.